14

これは奇妙に聞こえます。私が何か間違ったことをしているといいのですが、私のコレクションは私のコレクションで 1 つオフをMongoDB返しています。Count

私は (確かに) 359671 個のドキュメントを含むコレクションを持っています。ただし、このcount()コマンドは 359670 個のドキュメントを返します。

count()mongo シェルを使用してコマンドを実行しています。

rs0:PRIMARY> db.COLLECTION.count()
359670

これは正しくありません。

コレクション内のすべてのドキュメントを見つけるわけではありません。

カウントする次のクエリを指定すると、正しい結果が得られます。

rs0:PRIMARY> db.COLLECTION.count({_id: {$exists: true}})
359671

これは WiredTiger のバグだと思います。私の知る限り、各ドキュメントは同じ定義、0 から 359670 までの整数の _id フィールド、および BinData フィールドを持っています。古いストレージ エンジンではこの問題は発生しませんでした (または Mongo 2 のどちらかが問題を引き起こした可能性があります)。

これは私が間違ったことをしたのでしょうか? {_id: {$exists: true}}完了するまでに 100 倍の時間がかかるため、クエリを使用したくありません。

4

2 に答える 2