#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