Как запросить mongodb, используя список элементов

#python #mongodb

#python #mongodb

Вопрос:

Учитывая тот факт, что у меня есть список URL-адресов (хранящихся в переменной urls ), возможно ли выполнить запрос mongodb, чтобы получить все документы в коллекции, у которых есть ключ (скажем url ), совпадающий с одним из них в urls ?

В настоящее время я могу сделать это, выполнив N запросов к коллекции (с N = len (urls)), но я почти уверен, что мне не хватает функции mongodb, которая позволяет мне делать все быстрее.

Я должен уточнить, что получил этот список URL-адресов благодаря запросу mongodb.

Вот мой код (на python), две коллекции — это views и resources :

 urls = []                                              
for url in db.views.find().distinct("url"):
    urls.append(db.resources.one({'url': url}))
  

Есть ли способ, которым я могу выполнить эти N запросов только в одном?

РЕДАКТИРОВАТЬ: окончательный исходный код для выполнения чего-то подобного использует оператор $ in, вот так:

 urls = db.views.find().distinct("url")
list(db.resources.find({'url': {'$in': urls }}))
  

Ответ №1:

Взгляните на оператор $in