1

在 MongoDB 中,我知道要仅投影集合中的指定字段,我将执行:

db.collection.find({}, {"field1": 1, "field2": 1})

但是,如果我只想投影集合中数组中的指定字段,我会怎么做?我能想到的唯一方法是:

db.collection.find({field1: [arrayfield1: 1, arrayfield2: 1, arrayfield3: 1]})

但是我在元素列表(shell):1之后得到“语法错误:缺少]”。我也试过这个:

db.collection.find({field1: [arrayfield1: 1], [arrayfield2: 1], [arrayfield3: 1]})

并得到同样的错误。谁能告诉我我做错了什么?因为我想不通。或者如果我在完全错误的轨道上?

(我知道错误是“元素列表”,我认为它应该是一个字段列表或某种程度的东西,所以我怀疑这不是我想做的事情的正确方法。)

4

1 回答 1

2

我想到了。答案是点符号。这成功了:

db.colletion.find({}, {  "array.arrayfield1" : 1, "array.arrayfield2" : 1, "array.arrayfield3" : 1 })
于 2013-05-04T20:34:44.220 回答