在查找查询投影中,忽略位置运算符后指定的字段,并始终返回整个文档。
'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可以吗?
答案 0 :(得分:1)
是的,可以在mongo中完成 请尝试以下查询
db.getCollection('match').find(
{"participantsData.id" : 0001},
{"participantsData.id": 1, "matchCreation": 1 })
这将为您提供以下结果
{
"_id" : "myid",
"matchCreation" : 1463916465614,
"participantsData" : [
{
"id" : 1
}
]
}