我有一个mongo collection:
Collection :rResponse
{
"_id" : ("59c8248 "),
"correlationId" : ("b92b3 "),
"rtResponse" : {
"rTiming" : {
"servicetime" : "2020-04-17 11:50:42.1053555 (GMT-04:00)"
}
I Was trying to use find query to access service time.
db.rResponsee.rtResponse.rTiming.find( { servicetime: '2020-05-01 08:25:58.4083775 (GMT-04:00)' } );
但是它返回0行。如有任何帮助/建议,我将不胜感激。
您的语法是关闭的,并且该字段的整个路径需要出现在对find(...)
的调用中:
db.rResponsee.find({
'rtResponse.rTiming.servicetime': '2020-05-01 08:25:58.4083775 (GMT-04:00)'
});
db.rResponse.find({ 'rtResponse.rTiming.servicetime': '2020-04-17 11:50:42.1053555 (GMT-04:00)' }, { 'rtResponse.rTiming.servicetime': 1 })
输出:
{
"_id" : "59c8248",
"rtResponse" : {
"rTiming" : {
"servicetime" : "2020-04-17 11:50:42.1053555 (GMT-04:00)"
}
}
}
这里我们使用。find方法来查询'servicetime',这是嵌套文档在你的情况下,使用点符号,我们正在查询它,即'rtResponse.rTiming.servicetime'。我们使用投影来指定包含哪些字段。考虑{'rtResponse.rTiming。Servicetime ': 1},其中1表示true或包含该字段。
你可以阅读更多关于。find方法在这里,和mongodb投影在这里。