在MongoDB中向嵌套数组文档添加字段

4

大家好,我刚接触MongoDB,一直在寻找向数组中的嵌入文档添加字段的方法。

// 集合

> db.test.find().pretty();
{
    "_id" : ObjectId("5761765a31356152793c8790"),
    "name" : "bb",
    "email" : "bb@mail",
    "projects" : [
        {
            "project_id" : ObjectId("576179bf31356152793c879c")
             //How can i add a name here
        }
    ]
}
> 

您想为project_id添加相同的名称还是为每个添加特定的名称? - Medet Tleukabiluly
我只是想要访问projects.project_id,不同的名称。 - vic-3
你不能只是这样做吗?$set: {"projects.0.name": "foo"} - slugonamission
@slugonamission 我尝试了这个 db.test.update({name:'bb'},{$set :{projects.0.name:'foo'}}),但是它给了我一个错误 SyntaxError: Unexpected number。 - vic-3
1个回答

6

已经理解了 :) db.test.update({projects:{$elemMatch:{"project_id" : ObjectId("576179bf31356152793c879c")}}},{$set :{'projects.$.name':'foo'}},true); 希望能对某些人有所帮助。 谢谢!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接