MongoDB_2:MongoEngine 正则查询、模糊查询

参考:

1、MongoEngine 查询(翻译)

2、Python札记 -- MongoDB模糊查询

3、菜鸟-MongoDB 正则表达式

 

需要说明的一点是,MongoEngine 正则查询仅支持一下几种:

复制代码
以下操作符可以快捷的进行正则查询:

exact – 字符串型字段完全匹配这个值

iexact – 字符串型字段完全匹配这个值(大小写敏感)

contains – 字符串字段包含这个值

icontains – 字符串字段包含这个值(大小写敏感)

startswith – 字符串字段由这个值开头

istartswith – 字符串字段由这个值开头(大小写敏感)

endswith – 字符串字段由这个值结尾

iendswith – 字符串字段由这个值结尾(大小写敏感)
复制代码

 

如果想使用完全的正则查询,需要使用原始查询:

复制代码
原始查询
你可以通过 __raw__ 参数来使用一个原始的 PyMongo 语句来进行查询,这样可以进行原始的完整查询:

Page.objects(__raw__={'tags': 'coding'})

40     search = {
41         '__raw__':{
42             'content':{'$regex':'A\S+\d+'},
43         },
44     }
45     test_data_list = TestData.objects(**search)

qs = VideoDb.objects(is_delete=False)
c = qs.filter(__raw__={'material_tags': {'$regex': '.*B07?'}})
print(c.count())
复制代码

 

posted @   一路向北321  阅读(1108)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App
点击右上角即可分享
微信分享提示