本文介绍了python,mongoengine-做喜欢/正则表达式搜索的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我知道我可以在mongodb上进行全局类型的搜索:

I know I can do a glob-type search on mongodb:

db.person.find({ name: /*.bob.*/ })

db.person.find({ name: { $regex: '*.bob.*' }})

在不使用原始查询的情况下如何使用mongoengine做到这一点(这显然是基于我的搜索的唯一方法)?

How do I do this with mongoengine without using a raw query (which is apparently the only way based on my searches)?

我盲目尝试了几种变体,例如:

I've blindly tried several variations like:

Person.objects(name='/.*bob.*/')
Person.objects(name='/\.*bob\.*/')
Person.objects(name='.*bob.*')
Person.objects(name='\\.*bob\\.*')

等等,无济于事...

etc, to no avail...

推荐答案

您似乎可以通过以下方式做到这一点:

It looks like you can do it this way:

import re

regex = re.compile('.*bob.*')
Person.objects(name=regex)

这篇关于python,mongoengine-做喜欢/正则表达式搜索的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-14 22:02