pymongo处理正则表达式的情况
在python里使用pymongo处理mongodb数据库,在插入或者查询的时候,我们有时需要使用操作符号,如set,in,
具体操作符的可以参考 https://docs.mongodb.com/manual/reference/operator/query/
需求:需要用到正则表达式 来插入 或查询,如何操作?
1.首先要了解一下,mongodb里面的正则表达式怎么用
参考:https://docs.mongodb.com/manual/reference/operator/query/regex/
使用如下语法:
{ <field>: { $regex: /pattern/, $options: '<options>' } } { <field>: { $regex: 'pattern', $options: '<options>' } } { <field>: { $regex: /pattern/<options> } }
或者
{ <field>: /pattern/<options> }
当然option的含义是对正则表达式的一种选择,有
i 不区分大小写
m 包含锚的模式(即起始为 ^,结束为 $)
x 扩展
s 允许.点字符
详细的参考官网,这只是很简单的介绍
2.在pymongo里如何使用
mongodb默认使用的是bson数据,所以要在python里转换为该格式的数据
import bson
然后参照官网教程:http://api.mongodb.com/python/current/api/bson/regex.html
>>> pattern = re.compile('.*') >>> regex = Regex.from_native(pattern) >>> regex.flags ^= re.UNICODE >>> db.collection.insert({'pattern': regex})
这里注意一下,Regex是bson的类,可以导入
我的实例:
for collection in col_list: pattern = re.compile(time.strftime('%Y-%m-%d')) regex = bson.regex.Regex.from_native(pattern) regex.flags ^= re.UNICODE for item in db[collection].find({"insert_time":regex}): for j in item['value']: ...
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!