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

MongoDBでシャードコレクションのカバーされたクエリを取得できません

    MongoDB 2.6と同様に、問題のシャードがそのドキュメントを所有しているかどうかを確認するための追加のクエリがあるため、完全にカバーされたシャードクエリは取得されません( SERVER-5022 MongoDB課題追跡システムで)。

    mongos ルーターは、シャードで見つかったが、シャードされたクラスターのメタデータに従ってそこに存在してはならないドキュメントをフィルタリングします。

    次の場合、ドキュメントは複数のシャードに存在する可能性があります。

    • チャンクの移行 があります 進行中:ドキュメントはドナーシャードからデスティネーションシャードにコピーされ、チャンクの移行が正常に完了するまでドナーシャードから削除されません。

    • 移行の失敗またはクリーンアップの不完全さの結果として、ドキュメントがシャード上で「孤立」しました。 cleanupOrphanedがあります 管理コマンド シャーディングされたmongodに対して実行できるMongoDB2.6で 孤立したドキュメントを削除します。

    このカバーされたクエリの制限は、制限に記載されています:シャードクラスターの対象クエリ MongoDBドキュメントのセクションですが、対象クエリの作成DOCS-3820 を調達しました これをより明確にするため。




    1. MongoLab認証失敗エラーに接続できません

    2. 配列から重複するエントリを削除するにはどうすればよいですか?

    3. TransactionRequiredException更新/削除クエリの実行

    4. 入力されたフィールドに対するMongoDBクエリ