You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用PyMongo对_id字段执行正则$in查询?

在PyMongo中实现Mongo Shell的正则$in查询

直接在$in数组中使用re.compile()生成的正则对象即可,和Mongo Shell中的语法完全对应。以下是可直接运行的实现代码:

import re
from pymongo import MongoClient

# 连接数据库
client = MongoClient()
db = client.your_database  # 替换为你的数据库名
collection = db['my-collection']

# 定义与Mongo Shell一致的正则数组
target_regexes = [
    re.compile(r'^id0$'),
    re.compile(r'^id0#spr#'),
    re.compile(r'^id1$'),
    re.compile(r'^id1#spr#')
]

# 执行查询
results = collection.find({'_id': {'$in': target_regexes}})

# 遍历输出结果
for doc in results:
    print(doc)

若之前尝试{"$regex": ...}的方式失败,大概率是正则表达式的转义处理问题。使用re.compile()能直接复刻Mongo Shell中的正则逻辑,避免转义失误。

注意事项:

  • 必须导入Python的re模块
  • 确保_id字段为字符串类型,正则查询仅对字符串字段有效
  • 正则表达式的锚点^和$需保持与Mongo Shell中的写法一致,确保匹配精度

内容的提问来源于stack exchange,提问作者Roger Thomas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.25 00:02:38