MongoEngine – 查询运算符
除了用于检查平等性的=操作符外,MongoEngine中还定义了以下逻辑操作符。
ne | 不等于 |
---|---|
lt | 小于 |
lte | 小于或等于 |
gt | 大于 |
gte | 大于或等于 |
not | 否定一个标准检查,可以在其他运算符之前使用 |
in | 值在列表中 |
nin | 值不在列表中 |
mod | value % x == y,其中x和y是两个提供的值 |
all | 提供的数值列表中的每一项都在数组中 |
size | 数组的大小是 |
exists | 字段的值存在 |
这些操作符必须用双下划线__连接到字段名。
要使用大于(gt)运算符,请使用以下格式 –
输出
in操作符就像Python的in操作符。对于产品的名称与列表中的名称相匹配,使用以下代码 –
输出
你可以使用以下运算符作为快捷方式,将regex表达式应用到查询中,以实现过滤。
exact | 字符串字段完全匹配值 |
---|---|
iexact | 字符串字段与值完全匹配(不区分大小写)。 |
contains | 字符串字段包含值 |
icontains | 字符串包含值(不区分大小写)。 |
startswith | 字符串字段以值开始 |
istartswith | 字符串字段以值开始(不区分大小写)。 |
endswith | 字符串字段以值结束 |
iendswith | 字符串字段以值结束(不区分大小写)。 |
match | 执行$elemMatch,所以你可以在一个数组中匹配整个文档。 |
例如,下面的代码对名称中包含’o’的产品细节进行打印 —
输出
在另一个字符串查询的例子中,以下代码显示以’er’结尾的名字−
输出