MongoDB的:获取所有嵌入文档满足查询
问题描述:
我有以下查询文件:MongoDB的:获取所有嵌入文档满足查询
db.MyData.find({ "SubItems.EndDate" : { $lte : new Date() } })
它返回我在我的数据中的任何文件,其中嵌入了子项的一个结束日期是在过去,但我该怎么办改变这个只返回我的文档,如果所有其子项目满足查询
在下面的例子中,我原来的查询将返回两个文件,但我只希望它返回第二个。
{
"_id" : 1,
"name" : "item1"
"SubItems" : [
{
"EndDate": ISODate("2016-10-01T00:00:00.000Z"),
},
{
"EndDate": ISODate("2016-04-01T00:00:00.000Z"),
},
]
}
{
"_id" : 2,
"name" : "item2"
"SubItems" : [
{
"EndDate": ISODate("2016-02-01T00:00:00.000Z"),
},
{
"EndDate": ISODate("2016-03-01T00:00:00.000Z"),
},
]
}
答
在看到这个question
我设法实现什么,我需要用下面的查询:
edb.Bookings.find({ "ItineraryItems.EndDate" : { $not : { $gt : new Date() } } })
你能告诉我们一些样本文档和你预期的输出? – chridam
@chridam更新 – CeejeeB
参考http://stackoverflow.com/questions/10885044/mongodb-how-to-query-for-a-nested-item-inside-a-collection它可能对你有帮助 –