【发布时间】:2014-10-30 16:17:10
【问题描述】:
我正在尝试从子文档数组中获取特定字段
我不会在父文档中包含任何字段
这里是示例文档
{
"_id" : ObjectId("5409dd36b71997726532012d"),
"hierarchies" : [
{
"rank" : 1,
"_id" : ObjectId("5409df85b719977265320137"),
"name" : "CTO",
"userId" : [
ObjectId("53a47a639c52c9d83a2d71db")
]
}
]
}
如果 userId 在 userId 数组中,我想返回层次结构的等级
这是我目前查询的内容
collectionName.find({{hierarchies:
{$elemMatch : {userId: ObjectId("53a47a639c52c9d83a2d71db")}}}
, "hierarchies.$.rank", function(err,data){}
到目前为止,它返回了我想要的层次结构数组中的整个对象,但我想将它限制为对象的 rank 属性。
【问题讨论】:
-
您是否尝试过使用
lean: true获得结果 - 这可能有效...不是 100% 确定,只是一个想法。
标签: arrays mongodb mongoose subdocument