使用Node JS更新mongoDB集合中的值

时间:2019-09-16 13:47:06

标签: node.js mongodb

我是mongoDB的新手,我发现了如何使用Node JS在mongoDB中插入和检索值。从集合中检索值时,得到的值如下。

[{"1":["muthu","Pandiyan"],"_id":"5d7a23cdeee1c2ca3bf52a76"},{"2":["muthu","raj","ram","rifas"],"_id":"5d7a23cdeee1c2ca3bf52a77"},{"3":["pandiyan","jeni","raj"],"_id":"5d7a23cdeee1c2ca3bf52a78"}]

我想将键"1"的数组中的值更新为["muthu","Pandiyan","newuser"],我尝试了以下代码,但未获得所需的结果。我觉得我在updatedOne查询的第一个参数中犯了错误。请纠正我丢失的地方。

var r = yield db.collection('dummy3qa').updateOne({"1"},{$addToSet:"newuser"}); assert.equal(null, err);

2 个答案:

答案 0 :(得分:0)

您可以尝试一下。 请参阅此https://docs.mongodb.com/manual/reference/method/db.collection.update/

db.dummy3qa.update(
   {'1'},
   { $addToSet:"newuser"}
)

答案 1 :(得分:0)

这应该有效db.dummy3qa.update(_id:5d7a23cdeee1c2ca3bf52a76,{$addToSet:{1 : "newuser"});。您的网站不起作用的原因是,您未指定更新位置。 Mongo需要知道它应该在哪里更新,首先,您在$addToSet中犯了一个错误。为什么因为在文档中更新时指定了键和值,例如。 {$addToSet: {key: value}}。了解更多信息https://docs.mongodb.com/manual/reference/operator/update/addToSet/