MongoDB,检索对象数组中的特定字段

时间:2017-01-11 20:06:40

标签: mongodb meteor

在我的收藏中,我有一系列对象。我想只分享这些对象的一部分,但我不知道如何做到这一点?

以下是我尝试过的一些事情:

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
  }
};

1 个答案:

答案 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

更多关于如何query& project个文件