位置运算符和字段限制

时间:2016-07-16 11:08:15

标签: mongodb

在查找查询投影中,忽略位置运算符后指定的字段,并始终返回整个文档。

'myArray.$.myField' : 1的行为与'myArray.$' : 1

完全相同

位置操作员选择正确的文件。但是这个文件很大。我想只投影一个字段。

例:

db.getCollection('match').find({"participantsData.id" : 0001}, { 'participantsData.$.id': 1,  })

这里是我的回复

{
    "_id" : "myid",
    "matchCreation" : 1463916465614,
    "participantsData" : [ 
        {
            "id" : 0001,
            "plenty" : "of",
            "other" : "fields",
            "and" : "subdocuments..."
        }
     ]
}

这就是我想要的

{
   "_id" : "myid",
    "matchCreation" : 1463916465614,
    "participantsData" : [ 
        {
            "id" : 0001
        }

    ]
}

mongo可以吗?

1 个答案:

答案 0 :(得分:1)

是的,可以在mongo中完成 请尝试以下查询

db.getCollection('match').find(
    {"participantsData.id" : 0001}, 
    {"participantsData.id": 1, "matchCreation": 1 })

这将为您提供以下结果

{
        "_id" : "myid",
        "matchCreation" : 1463916465614,
        "participantsData" : [
                {
                        "id" : 1
                }
        ]
}