Массовая операция MongoDb получить идентификатор

Я хочу выполнить массовую операцию через MongoDb. Как получить массив идентификаторов, которые будут возвращены после него?

Могу ли я выполнить вставку одной операции быстрее, без использования группового ввода? Можете ли вы посоветовать мне другой подход? я использую C# mongoDb driver 2.0 а также MongoDb v. 3.0.2

Обновление: я нашел следующее решение - сохранить максимум ObjectId из коллекции монго,

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

и сделайте то же самое после вставки Итак, мы получим диапазон вставленных документов, имеет ли смысл?

1 ответ

Решение

Вы можете вставлять элементы оптом, используя новый драйвер с InsertManyAsync, Если вам нужны идентификаторы, сгенерированные драйвером для этих элементов, вы можете просто извлечь их из самих элементов после их вставки. Например:

Hamster[] hamsters = { new Hamster { Name = "Vaska" }, new Hamster { Name = "Petzka" } };
await collection.InsertManyAsync(hamsters);
var insertedIDs = hamsters.Select(_ => _.Id);
Другие вопросы по тегам