Mongodb:获取所有嵌入文档满足查询的文档

时间:2016-05-17 07:26:42

标签: mongodb

我有以下查询:

db.MyData.find( { "SubItems.EndDate" : { $lte : new Date() } })

在我的数据中返回其中一个嵌入的SubItems EndDate过去的任何文档,但是如果所有其SubItems满足查询,我该如何更改它以返回文档

在下面的示例中,我的原始查询将返回两个文档,但我只希望它返回第二个文档。

{
    "_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"),
        },
    ]
}

1 个答案:

答案 0 :(得分:1)

看到此question

我设法通过以下查询实现了我所需要的:

edb.Bookings.find( { "ItineraryItems.EndDate" : { $not : {  $gt : new Date() } } })