有条件更新mongodb中的多个条目?

时间:2016-02-16 11:06:50

标签: mongodb mongodb-query

我是mongodb的相对新手,但在MySQL方面有很多经验。

我想做一个简单的查询,它将出现在MySQL中,如下所示:

UPDATE {database}.{table} SET {FIELD1}='{VALUE1}' WHERE {FIELD2} = {VALUE2};

e.g。

UPDATE test.user SET email='test@acc.ie' WHERE ref='12';

我不想在第一次尝试时破坏数据库或集合。

我只在mongo上运行SELECT类型查询,编辑了单独的json条目或删除了整个数据库。 mongodb中的选择如下所示

db.getCollection('user').find({email : "test@acc.ie"})

基于MySQL示例,以下内容是否正确?

db.user.update({ref : "12"}, {$set: {email: test@ac.ie}}, { multi: true })

因为这是我得到的回应:

Updated 0 record(s) in 141ms

1 个答案:

答案 0 :(得分:0)

语法看起来没问题,您将在当前访问该集合时遇到错误,将其更改为

db.user.update({ref: 12}, {$set: {email: 'test@ac.ie'}}, { multi: true })

db.getCollection('user').update({ref: 12}, {$set: {email: 'test@ac.ie'}}, { multi: true }) 

注意:如果字符串是字符串,则应引用要设置的字段的值,如果是数字,则应取消引用。最好阅读 manual 以便更好地参考。