簡體   English   中英

為什么MongoCursor不返回MongoCollection的所有結果?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM