如何使用项目列表查询MongoDB

3 投票
1 回答
4776 浏览
提问于 2025-04-16 19:28

我有一个网址列表(保存在变量 urls 中),我想知道能不能用 MongoDB 查询来获取一个集合中所有与这些网址匹配的文档,假设这个匹配的字段叫 url

现在我可以通过对集合进行 N 次查询来实现这个功能(这里的 N 是网址列表的长度),但我觉得 MongoDB 应该有更快的方法可以做到这一点。

我得说明一下,这个网址列表是我通过 MongoDB 查询得到的。

这是我的代码(用 Python 写的),涉及到的两个集合是 viewsresources

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 个回答

5

看看这个$in 操作符

撰写回答