MongoDBのDBCursor
のcursor.count()
とcursor.size()
メソッドの違いは何ですか?MongoDBのcursor.count()とcursor.size()の違い
13
A
答えて
29
Javadoc of the MongoDB Java Driverから、それは言う:
DBCursor.count():クエリに一致するオブジェクトの数をカウントします。この はではありません。が上限となります。
DBCursor.size():クエリに一致するオブジェクトの数をカウントします。この は、制限/スキップを考慮に入れています。
1
答え以上、私たちのチームがこの2つを「ミキシング」する問題を指摘したいと思います。
我々はこのようなものだった:それはcursor.count()
メソッドを呼び出した後、制限が(plaseがthis他の質問を見てみましょう)を無視して、私たちはどのように多くの知っていることを意図していることが判明した
DBCursor cursor = collection.find(query).limit(batchSize);
logger.info("{} items found.", cursor.count());
while (cursor.hasNext()) {
...
}
を項目がクエリによって返されたので、count
を呼び出すと不要な付随効果が発生したので、代わりにcursor.size()
メソッドを呼び出す必要がありました。
私たちが直面していた問題の原因を見つけるのは簡単ではなかったので、これが他の誰にとっても役立つことを願っています。
+0
'cursor.count()'は文書化されているように制限を無視するだけでなく、実際にカーソルから制限を取り除いたことを言っていますか? –
関連する問題
- 1. MongoDBとDocumentDBとの違いMongoDBドライバとの比較
- 2. Mongodbのexplain(): "nscanned"と "nscannedObjects"の違い
- 3. MongoDbとモジュールmongoDbの相違点
- 4. Apache Spark SQLとMongoDBの違いは?
- 5. mongodb c#API V2:ReplaceOneとFindOneAndReplaceの違い
- 6. MongoDBとの間違い - 配列 - ループ
- 7. MongoDBの "id"フィールドと "_id"フィールドの相違
- 8. MongoDB `cursor.count`は空でないコレクションにもかかわらず0を返します
- 9. MongoDB - mongo.logファイルとジャーナルログファイルの相違
- 10. 時間のmongodbの相違
- 11. MongoDBのNumberLongと単純整数の違いは?
- 12. MongoDBのreadPreferenceとreadConcernの違いは何ですか?
- 13. MongoDBのreplaceOne()とupdateOne()の違いは何ですか?
- 14. MongoDBのdeleteOne()とfindOneAndDelete()の違いは何ですか?
- 15. mongoDB foreachループとwhileループ間のカーソルの違い
- 16. MongoDBの集計($ match)とfindの違いは?
- 17. Mongodb - 実行中の "mongo"と "mongod"データベースの違い
- 18. MongoDBドライバの相違点
- 19. cloneDatabaseとcopyDatabase mongodbの違いは何ですか?
- 20. mongodbとmongomapperの違いは何ですか?
- 21. MongoDBに$ lt/$ gtと$ neの違いはありますか?
- 22. MongoDBジャーナルファイルとoplogはどのように違いますか?
- 23. mongodbの相違点remove()とdeleteOneAndDelete()とdeleteOne()との比較
- 24. mongodbのdb.getreplicationinfo()とrs.printreplicationinfo()の使用例と相違点
- 25. MongoDBの配列上の$ lte:10と$ not:{$ gt:10}の作業の違いは?
- 26. 複雑な型のMongoDBの挿入と更新のシリアル化の違い
- 27. MongoDBの間違ったメンバーID
- 28. mongodbのdb.mydb.find({tag: 'java'})。count()とdb.mydb.count({tag: 'java'})の違いは何ですか?
- 29. MongoDBとJavaを使用しているときのドキュメントとdbObjectの違いは何ですか?
- 30. {!!の違い!!}と{{}}
どちらも同じようです...まだ2つのメソッドを導入したのはなぜですか?2つのパフォーマンスの違いはありますか? – Byter
彼らは同じではありません。 1つは制限/スキップを考慮に入れるが、他のものは考慮しない。 –
私はその違いが 'does not take'にあると思っていますし、' does take'はlimit/skipを考慮に入れています。 –