MongoDb批量操作获取id

时间:2015-07-30 12:58:38

标签: c# mongodb mongodb-.net-driver bulkinsert mongodb-csharp-2.0

我想通过MongoDb执行批量操作。如何获取将在它之后返回的ID数组?

我可以在不使用批量的情况下更快地执行单操作插入吗?你能告诉我一些其他方法吗? 我使用C# mongoDb driver 2.0MongoDb v. 3.0.2

更新: 我找到了以下解决方案 - 保存mongo集合的最大ObjectId

db.col.find().sort({_id:-1}).limit(1).pretty()

并在插入后执行相同操作 所以我们将获得插入文档的范围,它是否有意义?

1 个答案:

答案 0 :(得分:1)

您可以使用InsertManyAsync的新驱动程序批量插入项目。如果你想要驱动程序为这些项目生成的ID,你可以在插入它们之后简单地将它们从项目中取出。例如:

Hamster[] hamsters = { new Hamster { Name = "Vaska" }, new Hamster { Name = "Petzka" } };
await collection.InsertManyAsync(hamsters);
var insertedIDs = hamsters.Select(_ => _.Id);