我是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);
答案 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/