mongodbクエリを作成して、一度ドキュメントを更新し、値を持つフィールドをいくつか設定し、既にフィールドがある場合は設定されている)それらを設定解除します。MongoDB:updateOneクエリが存在する場合には未設定値を設定する
私はこのようにそれをやった:field1,2または3が文書内に存在していない場合は今問題がある
db.collection('collectionName").find({"itemId": itemsDataArray[i].itemId }).updateOne(
{ "$unset" :
{
"field1": 1,
"field2": 1,
"field3": 1
}
},
{ "$set":
{
"field4" : "value",
"field5" : "value"
}
})
問合せは、フィールド4の設定に失敗したと5
mongoのクエリに欠けているフラグはありますか? 助けてください。
EDIT:ソリューション
db.collection('collectionName').find({"itemId": itemsDataArray[i].itemId }).updateOne(
{ "$unset" :
{
"field1": 1,
"field2": 1,
"field3": 1
},
"$set":
{
"field4" : "value",
"field5" : "value"
}
})
ありがとうございます。問題は大括弧の使用でした。 –