Tôi đang cố gắng để có được một lĩnh vực nhất định từ một mảng subdocumentLàm thế nào để lấy một lĩnh vực nhất định từ một mảng subdocument với mongoose
Tôi sẽ không bao gồm bất kỳ trường nào trong doc mẹ
đây là tài liệu mẫu
{
"_id" : ObjectId("5409dd36b71997726532012d"),
"hierarchies" : [
{
"rank" : 1,
"_id" : ObjectId("5409df85b719977265320137"),
"name" : "CTO",
"userId" : [
ObjectId("53a47a639c52c9d83a2d71db")
]
}
]
}
tôi muốn trở lại thứ hạng của hệ thống phân cấp nếu một userId là trong mảng userId
đây là những gì tôi có cho đến nay trong truy vấn của tôi
collectionName.find({{hierarchies:
{$elemMatch : {userId: ObjectId("53a47a639c52c9d83a2d71db")}}}
, "hierarchies.$.rank", function(err,data){}
cho đến nay nó trả về toàn bộ đối tượng trong mảng thứ bậc tôi muốn, nhưng tôi muốn giới hạn nó chỉ là thuộc tính xếp hạng của đối tượng.
Bạn đã cố gắng để có được kết quả với 'lean: true' - có thể hoạt động ... Không chắc chắn 100%, chỉ là một ý tưởng. – mbernath