如何使用项目列表查询MongoDB
我有一个网址列表(保存在变量 urls
中),我想知道能不能用 MongoDB 查询来获取一个集合中所有与这些网址匹配的文档,假设这个匹配的字段叫 url
。
现在我可以通过对集合进行 N 次查询来实现这个功能(这里的 N 是网址列表的长度),但我觉得 MongoDB 应该有更快的方法可以做到这一点。
我得说明一下,这个网址列表是我通过 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 }}))