- Mongo引擎教程
- MongoEngine - 主页
- MongoEngine——MongoDB
- MongoEngine - MongoDB 指南针
- MongoEngine - 对象文档映射器
- MongoEngine - 安装
- MongoEngine - 连接到 MongoDB 数据库
- MongoEngine - 文档类
- MongoEngine - 动态模式
- MongoEngine - 字段
- MongoEngine - 添加/删除文档
- MongoEngine - 查询数据库
- MongoEngine - 过滤器
- MongoEngine - 查询运算符
- MongoEngine - 查询集方法
- MongoEngine - 排序
- MongoEngine - 自定义查询集
- MongoEngine - 索引
- MongoEngine - 聚合
- MongoEngine - 高级查询
- MongoEngine - 文档继承
- MongoEngine - 原子更新
- MongoEngine-Javascript
- MongoEngine-GridFS
- MongoEngine - 信号
- MongoEngine - 文本搜索
- MongoEngine - 扩展
- MongoEngine 有用资源
- MongoEngine - 快速指南
- MongoEngine - 有用的资源
- MongoEngine - 讨论
MongoEngine - 查询运算符
除了用于检查相等性的 = 运算符之外,MongoEngine 中还定义了以下逻辑运算符。
讷 | 不等于 |
其 | 少于 |
LTE | 小于或等于 |
GT | 比...更棒 |
通用电气 | 大于或等于 |
不是 | 否定标准检查,可以在其他运算符之前使用 |
在 | 值在列表中 |
宁 | 值不在列表中 |
模组 | value % x == y,其中 x 和 y 是两个提供的值 |
全部 | 提供的值列表中的每个项目都在数组中 |
尺寸 | 数组的大小是 |
存在 | 字段值存在 |
这些运算符必须附加到带有双下划线 __ 的字段名称。
要使用大于 (gt) 运算符,请使用以下格式 -
#using greater than operator for product in products.objects(price__gt=10000): print ('ID:',product.ProductID, 'Name:',product.Name, 'Price:',product.price)
输出
ID: 1 Name: Laptop Price: 25000 ID: 2 Name: TV Price: 50000 ID: 5 Name: Printer Price: 12500
in 运算符类似于 Python 的 in 运算符。对于与列表中的名称匹配的产品名称,使用以下代码 -
for product in products.objects(Name__in=['TV', 'Printer']): print ('ID:',product.ProductID, 'Name:',product.Name, 'Price:',product.price)
输出
ID: 2 Name: TV Price: 50000 ID: 5 Name: Printer Price: 12500
您可以使用以下运算符作为正则表达式的快捷方式,以将过滤器应用于查询 -
精确的 | 字符串字段与值完全匹配 |
精确的 | 字符串字段与值完全匹配(不区分大小写) |
包含 | 字符串字段包含值 |
图标包含 | 字符串字段包含值(不区分大小写) |
以。。开始 | 字符串字段以值开头 |
开始于 | 字符串字段以值开头(不区分大小写) |
以。。结束 | 字符串字段以值结尾 |
朋友 | 字符串字段以值结尾(不区分大小写) |
匹配 | 执行 $elemMatch 以便您可以匹配数组中的整个文档 |
例如,以下代码打印名称中包含“o”的名称的产品详细信息 -
for product in products.objects(Name__contains='o'): print ('ID:',product.ProductID, 'Name:',product.Name, 'Price:',product.price)
输出
ID: 1 Name: Laptop Price: 25000 ID: 3 Name: Router Price: 2000
在字符串查询的另一个示例中,以下代码显示以“er”结尾的名称 -
for product in products.objects(Name__endswith='er'): print ('ID:',product.ProductID, 'Name:',product.Name, 'Price:',product.price)
输出
ID: 3 Name: Router Price: 2000 ID: 4 Name: Scanner Price: 5000 ID: 5 Name: Printer Price: 12500