MongoDB
更新演算子
サーチ…
構文
- {$ set:{<field1>:<value1>、<field2>:<value2>、...}}
パラメーター
パラメーター | 意味 |
---|---|
フィールド名 | フィールドが更新されます:{ name : 'Tom'} |
targetVaule | 値はフィールドに割り当てられます:{name: 'Tom' } |
備考
$ set演算子のリファレンス: 公式サイトの$ set
ドキュメント内の指定されたフィールドを更新する$ set演算子
I.概要
MongoDBとRDBMSの大きな違いは、MongoDBには多くの種類の演算子があることです。そのうちの1つは、更新ステートメントで使用される更新演算子です。
II。更新演算子を使用しないとどうなりますか?
学生情報を保存する学生コレクションがあるとします(テーブルビュー):
ある日、トムのジェンダーを「M」から「F」に変更する必要のある仕事があります。それは簡単ですね。したがって、RDBMSの経験に基づいて非常に迅速に以下の文を書くことができます:
db.student.update(
{name: 'Tom'}, // query criteria
{sex: 'F'} // update action
);
私たちはトムの年齢と名前を失った!この例から、更新ステートメント内の更新演算子がなければ、 ドキュメント全体がオーバーライドされることがわかります 。これはMongoDBのデフォルトの動作です。
III。$集合演算子
Tomの文書で 'sex'フィールドだけを変更したい場合は、 $set
を使用して更新したいフィールドを指定できます:
db.student.update(
{name: 'Tom'}, // query criteria
{$set: {sex: 'F'}} // update action
);
$set
の値はオブジェクトであり、フィールドはドキュメントで更新するフィールドを表し、これらのフィールドの値はターゲット値です。
また、 'sex'と 'age'の両方を同時に変更したい場合は、 $set
追加することができます:
db.student.update(
{name: 'Tom'}, // query criteria
{$set: {sex: 'F', age: 40}} // update action
);
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow