sql >> データベース >  >> NoSQL >> MongoDB

Mongo DBでの保存と挿入の違いは何ですか?

    保存と挿入:

    与えられた例では、動作は基本的に同じです。

    保存 「_id」パラメータを指定して渡すと、動作が異なります。

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

    指定された_id値を持つドキュメントが存在しない場合、save()メソッドはドキュメント内の指定されたフィールドで挿入を実行します。

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

    保存と更新

    更新 クエリパラメータに一致する既存のドキュメントを変更します。そのような一致するドキュメントがない場合は、 upsert 写真に写っています。

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

    保存 :query-paramsを許可しません。 _idの場合 存在し、同じ _idを持つ一致するドキュメントがあります 、それを置き換えます。 _idが指定されていない/一致するドキュメントがない場合、ドキュメントは新しいドキュメントとして挿入されます。



    1. Rails + MongoMapper+EmbeddedDocumentフォームヘルプ

    2. MongoDBレプリカセットの開発者ガイド

    3. NodeJSとMongoDBFindAndModify()を削除または更新する必要があります

    4. 配列内のドキュメントを削除(プル)するマングースは、ObjectIDでは機能しません