MongoDBでフィールドの値を更新する方法を教えてください。
MongoDBでフィールド値を更新する一般的な方法は2つあります。
- $set 演算子による更新:$set 演算子はフィールドの値を設定するために使用されます。update() メソッドを使用するとドキュメント内のフィールドの値を更新できます。例を以下に示します。
db.collection.update(
{ <query> },
{ $set: { <field1>: <value1>, ... } }
)
は更新するドキュメントを絞り込むためのクエリ条件、 は更新するフィールド名、 は設定する新しい値です。フィールドと新しい値は必要に応じて複数設定できます。
- updateOne()またはupdateMany()メソッドによる更新:update()メソッドの別名で、同じ構文を使用してフィールド値を更新できます。例を以下に示します。
db.collection.updateOne(
{ <query> },
{ $set: { <field1>: <value1>, ... } }
)
検索条件であるに適合するドキュメントの中から、というフィールド名をという新しい値に更新します。updateOne()メソッドは一致する最初1つのドキュメントのみを更新し、updateMany()メソッドは一致するすべてのドキュメントを更新します。
なお、更新操作はデフォルトで一致する最初のドキュメントのみ更新されます。一致するすべてのドキュメントを更新する場合はupdateMany()メソッドを使用するか、update()メソッドに{multi:true}オプションを渡してください。
また、$inc(フィールド値の増減)、$unset(フィールド削除)、$rename(フィールド名の変更)などの他の演算子を使用してフィールド値を更新することもできます。具体的な使用方法については、MongoDB 公式ドキュメントを参照してください。