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
不只是一個答案我想指出一個問題,我們的團隊面臨着「混合」這兩個問題。
我們有這樣的事情:
DBCursor cursor = collection.find(query).limit(batchSize);
logger.info("{} items found.", cursor.count());
while (cursor.hasNext()) {
...
}
原來調用cursor.count()
方法之後,限爲忽略(plase看看this其它問題),我們打算知道多少物品是由查詢返回的,所以我們應該調用cursor.size()
方法,因爲調用count
時確實會產生不希望的附帶效果。
我希望這可以對任何人有所幫助,因爲找到我們遇到的問題的根源並不那麼容易。
+0
你是說'cursor.count()'不僅忽略了記錄的限制,而且實際上從遊標中刪除了限制,比如迭代遊標等後續操作的行爲就好像沒有設置限制一樣? – 2016-06-16 23:15:29
相關問題
- 1. Apache Spark SQL和MongoDB之間的區別?
- 2. MongoDB db.getCollection.find和db.tablename.find之間的區別?
- 3. MongoDB Java API:com.mongodb.DBCollection.Save()和com.mongodb.DBCollection.Insert()之間的區別?
- 4. MongoDb:$ push/$ addtoset之間的區別
- 5. java中使用mongodb的createIndex()和ensureIndex()之間的區別
- 6. MongoDB中的db.runCommand({getlasterror:1,fsync:true})和db.runCommand({getlasterror:1})之間的區別?
- 7. MongoDB中「id」和「_id」字段之間的區別
- 8. mongodb中存儲數組和新數組之間的區別
- 9. MongoDB中replaceOne()和updateOne()之間的區別是什麼?
- 10. '+ ='和'= +'之間的區別?
- 11. {!!之間的區別!!}和{{}}
- 12. ==和case之間的區別?
- 13. '#','%'和'$'之間的區別
- 14. | =和^ = css之間的區別
- 15. 「%〜dp0」和「。\」之間的區別?
- 16. .eq之間的區別。和==
- 17. ==和.equals()之間的區別?
- 18. `%in%`和`==`之間的區別
- 19. javascript中的/ * * /和//之間的區別
- 20. python中的[]和[,,]之間的區別
- 21. make中的「$(shell ...)」和「$$(...)」之間的區別
- 22. C中的/ +和+之間的區別?
- 23. SPFile和PublishingPage類別之間的區別
- 24. System.Timers.Timer Enabled = true和.Start()之間的區別Enabled = true和.Start()之間的區別
- 25. Selenium中verifyText和verifyTextPresent之間的區別
- 26. angularjs中$ cookiestore和$ cookies之間的區別
- 27. ios中stringByAppendingString和appendString之間的區別
- 28. XPath中// * /和/ * //之間的區別?
- 29. TestNG中@DataProvider和@Parameters之間的區別
- 30. Azure中CloudDrive.Delete()和CloudBlobContainer.Delete()之間的區別
兩者似乎都是一樣的......爲什麼他們引入了2種這樣的方法?兩者之間有什麼性能差異? – Byter 2012-08-09 10:31:13
它們不一樣。考慮限制/跳過,但其他不考慮。 – 2012-08-09 10:38:32
我懷疑區別在於「不採取」和「採取」限制/跳過考慮。 – 2012-08-09 10:38:32