在MongoDb中向数组添加新元素

时间:2013-08-26 07:00:43

标签: mongodb mongodb-query

我有一个像这样的mongodb集合: -

{
    "_id": ObjectId("52174bcb834806830e5447"),
    "roles": [
        {
            "role": "admin"
        },
        {
            "role": "user"
        }
    ]
}

我需要在roles数组中添加一个新的“角色”。像这样{"role": "guest" }。我该怎么做?

2 个答案:

答案 0 :(得分:4)

您可以使用$push-operator

执行此操作

这应该有效:

 db.collection.update(
     { _id:  ObjectId("52174bcb834806830e5447") },
     { $push: { roles: { role: "guest" } } }
 );

答案 1 :(得分:1)

此外,您可以使用$addToSet来避免重复。