【问题标题】:Projecting specified fields within an array in MongoDB (missing ] error?)在 MongoDB 中的数组中投影指定字段(缺少 ] 错误?)
【发布时间】:2013-05-04 19:56:38
【问题描述】:

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

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

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

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

但我在元素列表 (shell):1 之后得到“SyntaxError: missing ]”。 我也试过这个:

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

并得到同样的错误。谁能告诉我我做错了什么?因为我想不通。或者如果我走错了路?

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

【问题讨论】:

    标签: arrays mongodb field projection


    【解决方案1】:

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

    db.colletion.find({}, {  "array.arrayfield1" : 1, "array.arrayfield2" : 1, "array.arrayfield3" : 1 })
    

    【讨论】:

    • 您的权利确实有效 db.fred.find({},{"zipcode":1,"students.name":1,"students.age":1})
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-23
    • 1970-01-01
    • 2019-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多