保存と挿入:
与えられた例では、動作は基本的に同じです。
保存コード> 「_id」パラメータを指定して渡すと、動作が異なります。
保存の場合、ドキュメントに _id
が含まれている場合 、 _id
でコレクションのクエリをアップサートします フィールド、そうでない場合は挿入されます。
指定された_id値を持つドキュメントが存在しない場合、save()メソッドはドキュメント内の指定されたフィールドで挿入を実行します。
指定された_id値を持つドキュメントが存在する場合、save()メソッドは更新を実行し、既存のレコードのすべてのフィールドをドキュメントのフィールドに置き換えます。
保存と更新 :
更新
クエリパラメータに一致する既存のドキュメントを変更します。そのような一致するドキュメントがない場合は、 upsert
写真に写っています。
-
upsert:false
:そのようなドキュメントが存在しない場合は何も起こりません -
upsert:true
:新しいドキュメントは、クエリパラメータと更新パラメータに等しい内容で作成されます
保存
:query-paramsを許可しません。 _id
の場合 存在し、同じ _id
を持つ一致するドキュメントがあります 、それを置き換えます。 _idが指定されていない/一致するドキュメントがない場合、ドキュメントは新しいドキュメントとして挿入されます。