PyMongo - 使用变量来 sql 'LIKE' 查询
Posted
技术标签:
【中文标题】PyMongo - 使用变量来 sql \'LIKE\' 查询【英文标题】:PyMongo - Using variables to sql 'LIKE' queriesPyMongo - 使用变量来 sql 'LIKE' 查询 【发布时间】:2019-11-27 06:48:05 【问题描述】:答案here 适用于使用 PyMongo 搜索包含搜索文本的字段。但仅适用于硬编码字符串值:
db.houses.find("hid":"$regex": u"9")
那么,如何用变量替换 "9"
的表达式?
def some_func(search_text)
db.houses.find("hid":"$regex": ??????)
【问题讨论】:
您是说db.houses.find("hid":"$regex": search_text)
不起作用吗?
链接的答案让 cmets 正在寻找这种实现。所以,这个问题是为那些在那个问题上遇到困难的人准备的。
【参考方案1】:
试试这个,
search_text = u"9"
db.houses.find("hid":"$regex": search_text )
【讨论】:
好吧,我的第一个例子把你弄糊涂了。以这种方式放置search_text
并不总是可行的。
@vahdet 来自链接答案提供的 cmets。这是'9'
u'9'
应该工作的地方。【参考方案2】:
使用re
模块为您的搜索字符串创建一个正则表达式
import re
search_string = re.compile('9')
db.houses.find('hid': search_string)
您可以使用re
模块中提供的许多选项
【讨论】:
以上是关于PyMongo - 使用变量来 sql 'LIKE' 查询的主要内容,如果未能解决你的问题,请参考以下文章
SQL SERVER中LIKE使用变量类型不同输出结果不一致解惑
PLSQL连接Oracle使用like模糊查询中文时返回结果为空