1

このオブジェクトが MongoDB に保存されているとします。

{ "hello" : "goodbye", "_id" : ObjectId("4f90c9106aee6e21b4e55c65"), "test" : "world" };

そして、私はそうします

db.table.save({"_id" : ObjectId("4f90c9106aee6e21b4e55c65"), "test" : "changed value"});

既存のレコードを更新しますか? (テストの値は「変更」され、残りはそのままです)、または新しいものを作成しますか?

ありがとう!

4

1 に答える 1

1

はい。_idを渡して「保存」を使用すると、更新されます。

> db.test.insert({ "hello" : "goodbye", "_id" : ObjectId("4f90c9106aee6e21b4e55c65"), "test" : "world" });
> db.test.save({"_id" : ObjectId("4f90c9106aee6e21b4e55c65"), "test" : "changed value"});
> db.test.find();
{ "_id" : ObjectId("4f90c9106aee6e21b4e55c65"), "test" : "changed value" }

申し訳ありませんが、質問の2番目の部分を見逃しました。あなたはこれを探しています:

db.test.update({_id: ObjectId("4f90c9106aee6e21b4e55c65")}, {$set:{test:"changed value"}});
于 2012-04-20T03:43:54.660 に答える