python - MongoAlchemy 中的复杂字符串查询

标签 python mongodb pymongo mongoalchemy

我正在学习 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 中执行如此复杂的查询?

最佳答案

要查找任何共现,您可以在查询中使用运算符。像这样:

datosquery = datos.query.filter({datos.schema_name: {"$regex": texto}})

$regex 运算符使用正则表达式,使我们能够在文本字段中进行更复杂的搜索。

这是 mongo 查询运算符的链接。

https://charlascylon.com/2013-07-10-tutorial-mongodb-operaciones-de-consulta-avanzadas

关于python - MongoAlchemy 中的复杂字符串查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10665703/

相关文章:

python - Heroku 上的 Django : relation "app_label" does not exist

node.js - NeDB 的 CRUD API 是否与 MongoDB 兼容?

python - 使用 Pymongo 在 MongoDB 中提取最新文档的时间戳

python - 如何在 Flask 中为每个请求创建 pymongo 连接

python - Pymongo $push 不更新数组,也不异常(exception)

python - 字符串格式化 - Python

python - 在 matplotlib 日期对象的 numpy 数组中查找行

python - 使用python pandas按名称计算多列

javascript - MongoDB with Mongoose - 仅查找某些子文档

c# - 当我拥有基类型中另一个属性的 BsonId 属性时,有没有办法在派生类中使用 "Id"属性?