我刚开始使用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作为客户端,想知道这里有什么问题。每次操作是否有插入限制?
答案 0 :(得分:1)
您编写异步并且不等待结果。要么等待它:
collection.InsertManyAsync(batch).Wait();
或使用同步通话:
collection.InsertMany(batch);