我正在学习 MongoAlchemy,它是 MongoDB 的 Python 驱动程序之上的一层。假设有一个 Python 类,映射自 MongoDB 对象,如下所示:
from mongoalchemy.document import Document
from mongoalchemy.fields import *
class Person(Document):
name = StringField()
我像这样查询数据库:
for person in query.filter(Person.name == 'Geronimo'):
print person
它工作正常,但现在我想查询数据库以获取不区分大小写的名称(“geronimo”和“Geronimo”),或者查找其中包含两个 o 的所有名称。query.filter(Person.name[1:] == 'eronimo')
并且这样不起作用,因为 Person.name 不是字符串,而是 QueryField 对象。
我如何在 MongoAlchemy 中进行如此复杂的查询?