4

MongoDb 経由で一括操作を行いたい。その後に返されるIDの配列を取得する方法は?

bulk を使用せずに単一操作の挿入をより高速に実行できますか? 他のアプローチを教えてもらえますか?私は使用C# mongoDb driver 2.0していますMongoDb v. 3.0.2

更新:次の解決策を見つけました-最大ObjectIdのmongoコレクションを保存し、

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

挿入後に同じことを行う では、挿入されたドキュメントの範囲を取得しますが、それは意味がありますか?

4

1 に答える 1

2

で新しいドライバーを使用して、アイテムを一括で挿入できますInsertManyAsync。ドライバーがこれらのアイテムに対して生成した Id が必要な場合は、アイテムが挿入された後にアイテム自体から簡単に取得できます。例えば:

Hamster[] hamsters = { new Hamster { Name = "Vaska" }, new Hamster { Name = "Petzka" } };
await collection.InsertManyAsync(hamsters);
var insertedIDs = hamsters.Select(_ => _.Id);
于 2015-07-30T13:13:51.203 に答える