Mongodb未能插入我的所有记录

时间:2017-03-08 08:38:40

标签: c# .net mongodb mongodb-.net-driver database

我刚开始使用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作为客户端,想知道这里有什么问题。每次操作是否有插入限制?

1 个答案:

答案 0 :(得分:1)

您编写异步并且不等待结果。要么等待它:

collection.InsertManyAsync(batch).Wait();

或使用同步通话:

collection.InsertMany(batch);