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

アトミックにサブドキュメントでmongodbドキュメントを作成しますか?

    upsert=trueで更新 アトミックな「挿入または更新」を実行するために使用できます( http://docs.mongodb.org/manual/core/update/#update-operations-with-the-upsert-flag

    たとえば、特定のurlを持つFrontコレクションのドキュメントを確認したい場合 が1回だけ挿入されると、次のように実行できます:

    db.Front.update(
        {url: 'http://example.com'},
        {$set: {
           url: 'http://example.com'},
           found: true
        }
    )
    

    MongoDB内の単一のドキュメントに対する操作は、常にアトミックです。複数のドキュメントにまたがる更新を行う場合、アトミック性は保証されません。そのような場合、あなたは自分自身に尋ねることができます:私は本当に操作がアトミックである必要がありますか?答えが「いいえ」の場合は、一貫性のない可能性のあるデータを処理する方法が見つかる可能性があります。答えが「はい」で、MongoDBを使い続けたい場合は、2フェーズコミット




    1. MongoDBクエリ結果をJSONファイルにエクスポートする方法

    2. MongoDB $ isArray

    3. MongoDBの切断エラーを処理する方法

    4. MongoDB-配列内のドキュメントを更新します