1. ホーム
  2. mongodb

[解決済み] Mongo DBの保存と挿入の違いは何ですか?

2022-05-08 01:44:44

質問

Mongo DBの保存と挿入の違いは何ですか? どちらも同じに見えますが

db.users.save({username:"google",password:"google123"})

db.users.insert({username:"google",password:"google123"})

解決方法は?

保存と挿入の比較

例に挙げたように、動作は基本的に同じです。

save は、"_id"パラメータで渡された場合、異なる動作をします。

保存する場合、ドキュメントに _id のコレクションにクエリを発行し、アップサートを行います。 _id フィールドがない場合は、挿入されます。

<ブロッククオート

指定された _id 値の文書が存在しない場合、save() メソッドは文書内の指定されたフィールドに挿入を実行します。

指定された _id 値のドキュメントが存在する場合、save() メソッドは更新を行い、既存のレコードのすべてのフィールドをドキュメントのフィールドで置き換えます。


保存と更新 :

update は、クエリパラメータにマッチした既存のドキュメントを変更します。もしそのような文書がなければ、そのときに upsert が表示されます。

  • upsert : false : そのような文書が存在しない場合、何も起こりません。
  • upsert : true : クエリパラメータとアップデートパラメータに等しい内容の新しいドキュメントが作成されます。

save : クエリパラメータを許可しない。 _id が存在し、同じ _id の場合、それを置き換えます。_idが指定されていない場合、または一致する文書がない場合は、新しい文書として挿入します。