1
比方说,我有这样的对象保存在MongoDB中:保存现有对象时,保存方法是否仅更新传递字段?
{ "hello" : "goodbye", "_id" : ObjectId("4f90c9106aee6e21b4e55c65"), "test" : "world" };
我做
db.table.save({"_id" : ObjectId("4f90c9106aee6e21b4e55c65"), "test" : "changed value"});
它将更新现有记录? (测试的价值将被“改变”,其余将完好无损),或者创建一个新的?
谢谢!
但是,如果对象有20个字段,并且我传递_id和只有3个字段。它会更新这3个字段,并保持其余字段完好无损吗?或者它会让它们变成空白?谢谢 – TomShreds 2012-04-20 03:45:02
如果你像你在例子中那样做,它会将它们留空。但是,有语法只更新3个字段而不删除其余部分。查看$ set在http://www.mongodb.org/display/DOCS/Updating#Updating-%24set – 2012-04-20 03:46:34