我刚开始使用MongoDB,因为我的新项目需要处理大量数据。我刚建立了数据库并安装了MongoDB的C驱动程序,下面是我尝试的

public IHttpActionResult insertSample()
{

    var client = new MongoClient("mongodb://localhost:27017");
    var database = client.GetDatabase("reznext");
    var collection = database.GetCollection<BsonDocument>("sampledata");
    List<BsonDocument> batch = new List<BsonDocument>();

    for (int i = 0; i < 300000; i++)
    {
       batch.Add(
          new BsonDocument {
          { "field1", 1 },
          { "field2", 2 },
          { "field3", 3 },
          { "field4", 4 }
                 });
    }
    collection.InsertManyAsync(batch);
    return Json("OK");
}

但当我检查集合中的文档时,我发现在插入的30万条记录中只有42K条。我使用Robomongo作为客户端,想知道这里有什么问题。每个操作有插入限制吗?

最佳答案

你写异步而不是等待结果。要么等待它:

collection.InsertManyAsync(batch).Wait();

或使用同步调用:
collection.InsertMany(batch);

关于c# - Mongodb无法插入我的所有记录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42666565/

10-12 14:07