MongoDB批量插入数据时,执行查询无法查询到数据,插入完成后才查询到数据
认证高级PHP讲师
これは mongodb が常に批判されてきたものです - 読み取り/書き込みロックですが、バージョン 2.2 より前はグローバルでした。つまり、書き込み操作中はデータベース全体の読み取りと書き込みが制限されていました。その後、コレクション レベルのロックが徐々にサポートされるようになりましたが、同じコレクションの読み取りと書き込みを同時に行う方法はまだありません。ドキュメント レベルのロックをサポートしているエンジンがあるかどうかはわかりません。 。申し訳ありませんが、あなたが遭遇した問題を解決することはできません。ビジネスの観点からこの状況を回避するか、データベースを読み取りと書き込みに分離するしかないと思います。
あなたの説明によると、2.8 より前のバージョンを使用しているはずです。ドキュメント レベルのロックは 2.8 以降でサポートされているためです。 3.0 以降、mongodb は WiredTiger エンジンを終了しました。バッチ挿入クエリの場合と同様に、高強度の同時実行性が必要な場合を除き、異なるユーザーがいつでも同じコレクション内の異なるドキュメントを編集およびクエリできます。 mongodbの読み書き速度は基本的には問題ありません。これが彼の存在理由です。
これは mongodb が常に批判されてきたものです - 読み取り/書き込みロックですが、バージョン 2.2 より前はグローバルでした。つまり、書き込み操作中はデータベース全体の読み取りと書き込みが制限されていました。その後、コレクション レベルのロックが徐々にサポートされるようになりましたが、同じコレクションの読み取りと書き込みを同時に行う方法はまだありません。ドキュメント レベルのロックをサポートしているエンジンがあるかどうかはわかりません。 。申し訳ありませんが、あなたが遭遇した問題を解決することはできません。ビジネスの観点からこの状況を回避するか、データベースを読み取りと書き込みに分離するしかないと思います。
あなたの説明によると、2.8 より前のバージョンを使用しているはずです。ドキュメント レベルのロックは 2.8 以降でサポートされているためです。 3.0 以降、mongodb は WiredTiger エンジンを終了しました。バッチ挿入クエリの場合と同様に、高強度の同時実行性が必要な場合を除き、異なるユーザーがいつでも同じコレクション内の異なるドキュメントを編集およびクエリできます。 mongodbの読み書き速度は基本的には問題ありません。これが彼の存在理由です。