更新MongoDB中的值

时间:2014-08-05 07:47:51

标签: mongodb

我必须添加新值(或编辑实际值)company。我在控制台中尝试了这段代码:

db.users.update({email: /debute/},{company: "test"})

但现在,在数据库中,我只有_idcompany。为什么删除其他值?或者我怎样才能防止将来删除其他值?

2 个答案:

答案 0 :(得分:3)

默认情况下,update函数会将整个文档替换为您传递的文档。但您也可以使用它来仅替换单个字段,并使用$set operator使其他字段保持不变。

db.users.update({email: /debute/},{ $set: { company: "test"} } );

您可能还想为更新指定第三个参数{ multi: true }。否则,它只会更新它找到的与条件匹配的第一个文档。

答案 1 :(得分:2)

您需要在订单上使用update operator来更新现有文档,您的代码会用新文档替换文档。以下是更新的方法:

db.users.update({email: /debute/},{$set: {company: "test"}})