このドキュメントをMongoDBに保存した場合
{
_id : ...,
some_key: {
param1 : "val1",
param2 : "val2",
param3 : "val3"
}
}
上の新しい情報を持つオブジェクトparam2
とparam3
外の世界からは、保存する必要があります
var new_info = {
param2 : "val2_new",
param3 : "val3_new"
};
新しいフィールドをオブジェクトの既存の状態にマージ/オーバーレイして、param1が削除されないようにしたい
これを行う
db.collection.update( { _id:...} , { $set: { some_key : new_info } }
MongoDBは要求されたとおりに動作し、some_keyをその値に設定します。古いものを交換してください。
{
_id : ...,
some_key: {
param2 : "val2_new",
param3 : "val3_new"
}
}
MongoDBで新しいフィールドのみを更新する方法は何ですか(1つずつ明示的に指定せずに)?これを取得するには:
{
_id : ...,
some_key: {
param1 : "val1",
param2 : "val2_new",
param3 : "val3_new"
}
}
私はJavaクライアントを使用していますが、どんな例でもありがたいです