MongoDB ドキュメントから:
update引数にフィールドと値のペアのみが含まれている場合、 update() メソッドは、_id フィールドを除いて、既存のドキュメントをupdate引数のドキュメントに置き換えます。
つまり、MongoDB の更新は、説明したとおりに機能します。したがって、テスト コレクションにこのドキュメントがある場合:
{ "_id" : "123", "oldfield" : "oldvalue" }
そして、mongo CLI で以下を実行します。
db.test.update({"_id": "123"}, { newfield : "value" })
新しいドキュメントは次のようになります。
{"_id": "123", "newfield" : "value"}
一部のフィールドのみを変更する場合は、1 つ以上のフィールドの値を設定する $set 演算子を使用できます。春のデータを使用しているため、MongoTemplate クラスを使用してこの更新を行う必要があります。
Query q = new Query(Criteria.where("_id").is("123"));
Update u = Update
.update("newfield", "value")
.set("oldfield", "newvalue");
this.template.findAndModify(query, update, Entity.class);
ここで $set operator と mongodb update について読むことができます:
http://docs.mongodb.org/manual/reference/operators/#_S_set
http://docs.mongodb.org/manual/applications/update