2013-09-07 5 views
2

Мы знаем, что мы можем использовать следующий питона заявление для выполнения пакетной вставки в MongoDB через PyMongo:Поддерживает ли pymongo пакетный запрос?

db.foo.insert([{"_id" : 1377890}, {"_id" : 1377545}, {"_id" : 1377966}, etc ...]) 

где параметром является список. Мотивированный этим, я попытался выполнить пакетный запрос, используя:

db.foo.find([{"_id" : 1377890}, {"_id" : 1377545}, {"_id" : 1377966}, etc ...]) 

, но мне была дана ошибка. Итак, pymongo или mongodb поддерживают пакетный запрос, используя подобный метод? Если какой-либо другой mongodb двигатель поддерживает пакетный запрос, как указано выше, пожалуйста, сообщите мне. Спасибо!

ответ

2

не как список dicts, но вы должны быть в состоянии использовать query operator для достижения того же эффекта:

db.foo.find({"_id": {"$in": [1377890, 1377545, 1377966, …]}}) 

Каюсь, я на самом деле не пробовал, но это согласуется с MongoDB API и должен работать с пимонго.

+0

Я пробовал только сейчас. Да, он работает (_id-list может быть любой переменной списка)! Большое спасибо! – user2384994

+0

Кроме того, скорость увеличилась в аренде в четыре раза по сравнению с методом, в котором я запрашиваю коллекцию в целом и фильтрую требуемый _id с использованием языка python. Какая крутая техника! – user2384994

Смежные вопросы