MongoDb批量操作获取id
MongoDb bulk operation get id
我想通过MongoDb执行批量操作。如何获取之后返回的 ID 数组?
我可以在不使用批量的情况下更快地执行单操作插入吗?你能告诉我一些其他的方法吗?
我正在使用 C# mongoDb driver 2.0
和 MongoDb v. 3.0.2
更新:
我找到了以下解决方案 - 保存 mongo 集合的最大值 ObjectId
,
db.col.find().sort({_id:-1}).limit(1).pretty()
并在插入后做同样的事情
这样我们就得到了插入文档的范围,有没有意义?
您可以使用带有 InsertManyAsync
的新驱动程序批量插入项目。如果您想要驱动程序为这些项目生成的 ID,您只需在插入项目后将它们从项目本身中取出即可。例如:
Hamster[] hamsters = { new Hamster { Name = "Vaska" }, new Hamster { Name = "Petzka" } };
await collection.InsertManyAsync(hamsters);
var insertedIDs = hamsters.Select(_ => _.Id);
我想通过MongoDb执行批量操作。如何获取之后返回的 ID 数组?
我可以在不使用批量的情况下更快地执行单操作插入吗?你能告诉我一些其他的方法吗?
我正在使用 C# mongoDb driver 2.0
和 MongoDb v. 3.0.2
更新:
我找到了以下解决方案 - 保存 mongo 集合的最大值 ObjectId
,
db.col.find().sort({_id:-1}).limit(1).pretty()
并在插入后做同样的事情 这样我们就得到了插入文档的范围,有没有意义?
您可以使用带有 InsertManyAsync
的新驱动程序批量插入项目。如果您想要驱动程序为这些项目生成的 ID,您只需在插入项目后将它们从项目本身中取出即可。例如:
Hamster[] hamsters = { new Hamster { Name = "Vaska" }, new Hamster { Name = "Petzka" } };
await collection.InsertManyAsync(hamsters);
var insertedIDs = hamsters.Select(_ => _.Id);