[英]Why is the MongoCursor not returning all results from a MongoCollection?
我正在使用mongodb.org的10gen c#MongoDB驅動程序,並且嘗試從具有200萬以上行的集合中獲取所有行。 這是代碼:
var mongoServer = dataHelper.GetMongoServer();
var mongoDatabase = mongoServer.GetDatabase("MyDB");
var mongoCollection = mongoDatabase.GetCollection<MyClass>("MyClass");
var mongoCount = mongoCollection.Count();
var mongoCursor = mongoCollection.FindAll();
mongoCursor.SetBatchSize(1000);
var totalCount = 0;
foreach(var myClass in mongoCursor)
{
++totalCount;
//process record
}
當foreach語句完成時,totalCount僅占集合中mongoCount的91%。 我的代碼有問題嗎?
因為更改了“批量大小”,所以發出1 Mb的問題? 因為默認的批處理大小實際上是4mb。 嘗試不設置批次大小。
2您是否嘗試過直接將限制設置為例如300萬?
3您是否也嘗試過分批獲取數據,例如百萬分之一,因為mb在mongodb或驅動程序上有些超時?
4關於mongo db的Cuncurrency 。
希望能有所幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.