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

Mongodbでの読み取り-独自-書き込みの一貫性

    この質問にはいくつかのポイントがあります。

    1. "safe=true"のいずれかを使用していない限り、書き込み後の読み取りの一貫性が保証されるわけではありません。 、"w=1" (またはそれ以上)または"j=true" あなたの書き込みで。これらは、insert()またはupdate()の一部として含めることができます。 コマンド、またはset_lasterror_options()を使用します 使用している接続、データベース、またはコレクションにこれらのオプションを設定します。

    2. セカンダリノードからの読み取りを許可している場合(たとえば、PRIMARY以外のReadPreference)、書き込み後の読み取りセマンティクスは取得されず、結果整合性のみが取得されます。

    3. PRIMARYのReadPreferenceを使用していて、適切なlasterrorオプションを設定している場合、同じソケット、つまり同じスレッドを使用するすべての操作で、書き込み後の読み取りセマンティクスを取得することが保証されます。

      >
    4. 複数のスレッドを使用していて、セカンダリノードから読み取っていない場合は、最初のスレッドで書き込みが完了した後に2番目のスレッドで読み取りを発行する限り、書き込み後の読み取りの一貫性が保証されます。これを保証するために、標準のスレッド同期プリミティブを使用できます。



    1. 次の多対多の関係をMongoDBでどのようにモデル化する必要がありますか?

    2. MongoDBにネストされたオブジェクトが存在する場合は更新し、存在しない場合は追加します。

    3. mgo $ unwind集計結果を不明な要素の種類(0x2E)に

    4. MongoDB C#ドライバーのタイムアウト