python-3.x - 如何在mongodb中搜索字段的特定动态模式。?
问题描述
我需要在 mongodb 集合中搜索特定的模式字段。我尝试使用 {$exists:true}; 但是,只有在您提供精确字段时才会给出结果。
我尝试将 {$exists:true} 用于我的领域。但是,如果您给出一些模式,这不会给出结果。
{
"field1":"value1",
"field2":"value2",
"field3":object
{/arjun1/pat1: 1,
/arjun2/pat2: 3,
/arjun3/pat3: 5
}
"field4":"value4",
}
从某个字段,我得到键 pat3 和 field3。由此我需要找出文档中是否存在值 /arjun3/pat3 。如果我使用 {"field3./arjun3/pat3":{$exists:true}},这会给我结果。但问题是我只得到了 field3 和 pat3,我需要使用一些模式匹配,比如 field3.*.pat3 然后使用 $expr 或 $exists; 我不完全确定该怎么做。请帮忙。
解决方案
您可以re
为 SQL 之类的模式匹配使用正则表达式(模块),并编译您自己的自定义通配符。但是,如果您不希望这样,那么您可以简单地使用该fnmatch
模块,它是 python 的内置库,允许对多个字符 (via *
) 或单个字符 (via ?
) 进行通配符匹配。
import fnmatch
a = "hello"
print(fnmatch.fnmatch(a, "h*"))
输出:-
True
推荐阅读
- applescript - AppleScript - 从网页中提取文本字段,并将它们编译到文本文档中
- javascript - Leaflet:从 SVG 路径元素获取图层实例
- ansible - 将json文件分配给循环jinja2 ansible内的变量
- node.js - 如何将 openUploadStream 与 Grid-fs 存储桶一起使用
- javascript - react-native modal 后面的元素不可点击
- apache - Apache ProxyPass:安装 SSL 后页面不会自动刷新
- linux - 查找命令中的反斜杠
- java - Primefaces 6 问题动态添加带有动作的菜单项
- excel - 使用预定义的 Excel 模板进行导出
- python - MySQLConnection 错误:用户'rnd-admin'@'localhost'的访问被拒绝(使用密码:是)