在我的收藏中,我有一系列对象。我想只分享这些对象的一部分,但我不知道如何做到这一点?
以下是我尝试过的一些事情:
db.collections.find({},
{ fields: {
'myField': 1, // works
'myArray': 1, // works
'myArray.$': 1, // doesn't work
'myArray.$.myNestedField': 1, // doesn't work
'myArray.0.myNestedField': 1, // doesn't work
}
};
答案 0 :(得分:2)
myArray.myNestedField':1 for projecting nested fields from the array.
我将简要解释您拥有的所有变种。
'myField': 1 -- Projecting a field value
'myArray': 1 -- Projecting a array as a whole - (Can be scalar, embedded and sub document)
以下变体仅适用于投影前的查询中的positional operator($)
,并仅投影与查询匹配的第一个元素。
'myArray.$': 1
'myArray.$.myNestedField': 1
这不是有效的投影操作。
'myArray.0.myNestedField': 1