如何替换MongoDB文档中数组的所有元素?

时间:2016-01-02 05:09:47

标签: mongodb meteor mongoose database

如果我有一个新的字符串数组(arr)并想要用mongoDB文档的字符串组件访问的mongoDB文档中的数组替换这个数组我怎么做?

这是我到目前为止所做的,但它不起作用:

Posts.update({user: userVar},{ tags: arr }});

到目前为止,我在网上看到的内容似乎很尴尬,似乎需要两个步骤。

1 个答案:

答案 0 :(得分:1)

这应该是一个直接的更新。

 Posts.update({user: userVar}, {$set: { tags: arr }});

mongo

> db.so34562815.find( ).pretty()
{
    "_id" : ObjectId("56875d7a6a21dd6b99743439"),
    "user" : "test",
    "tags" : [
        "one",
        "two"
    ]
}

> arr = ['three']
[ "three" ]

> db.so34562815.update({user:'test'},{$set: {tags:arr}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

> db.so34562815.find( ).pretty()
{
    "_id" : ObjectId("56875d7a6a21dd6b99743439"),
    "user" : "test",
    "tags" : [
        "three"
    ]
}