如何替换MongoDB记录中的对象?

时间:2012-04-21 05:09:27

标签: mongodb

如何替换此记录中的third_id(只需要更新一个文档)?

> db.collection.find( {"_id" : ObjectId("4f90cf0cd4bea011930001a3"), "first_id": ObjectId("4edf056800126757c000000f")}) { "second_id" : ObjectId("4f355e430012671d77000ec0"), "third_id" : ObjectId("4edf056800126757c000000f"), "note" : "blah-blah"}

喜欢这个吗?

db.collection.update( { {"_id" : ObjectId("4f90cf0cd4bea011930001a3"), "third_id" : ObjectId("5edf056800126757c000000f")}, , true )

教程说:     db.collection.update(criteria,objNew,upsert,multi)

参数:

标准 - 选择要更新的记录的查询;

objNew - 操作对象的更新对象或$运算符(例如$ inc)

upsert - 如果这应该是“upsert”操作;也就是说,如果记录不存在, 插入一个。 Upsert仅插入单个文档。

multi - 表示是否应更新所有匹配条件的文档而不是仅更新一个。对于下面的$运算符非常有用。

1 个答案:

答案 0 :(得分:1)

由于您只想更新单个文档并且您不想尝试进行upsert,并且您不想替换整个文档而只是替换一个字段,您可以这样做:

db.collection.update( { {"_id" : ObjectId("4f90cf0cd4bea011930001a3"), 
                      { $set : {"third_id" : ObjectId("5edf056800126757c000000f") } } )