查询谓词是返回布尔值的表达式,该布尔值指示文档是否与指定查询匹配。示例,{ name: {
$eq: "Alice" } }
是一个查询谓词,返回 "name"
字段的值为字符串 "Alice"
的文档。
要匹配正确的文档,可以在查询谓词中使用以下类型的操作符:
运算符类型 | 说明 |
---|---|
根据大量条件返回数据。 | |
根据位位置条件返回数据。 | |
根据值比较(例如小于和大于)返回数据。 | |
根据字段是否存在或数据类型返回数据。 | |
在查询谓词中执行专门函数。 | |
根据布尔逻辑(and、or 和nor)返回数据。 | |
根据地理空间查询谓词返回数据,例如地球表面某个地区内的包含情况。 |
按字母顺序排列的操作符列表
名称 | 说明 |
---|---|
匹配包含查询中指定的所有元素的数组。 | |
使用逻辑 | |
匹配数字或二进制值,其中一组片段位置均包含值 | |
匹配数字或二进制值,其中一组片段位置均包含值 | |
匹配数字或二进制值,其中一组位位置中的任何 位的值为 | |
匹配数字或二进制值,其中一组位位置中的任何 位的值为 | |
如果大量字段中至少有一个元素与所有指定的 | |
匹配等于指定值的值。 | |
匹配具有指定字段的文档。 | |
允许在查询谓词中使用表达式。 | |
选择与 GeoJSON 几何图形相交的几何图形。2dsphere 索引支持 | |
选择在边界 GeoJSON 几何图形内的几何图形。2dsphere 和 2d 索引支持 | |
匹配大于指定值的值。 | |
匹配大于等于指定值的值。 | |
根据给定的JSON schema 验证文档。 | |
匹配数组中指定的任何值。 | |
匹配小于指定值的值。 | |
匹配小于等于指定值的值。 | |
根据对字段值进行模运算的结果来匹配文档。 | |
匹配所有不等于指定值的值。 | |
返回靠近点的地理空间对象。需要地理空间索引。 | |
返回与球面上的某个点相邻的地理空间对象。需要地理空间索引。 | |
如果该值不等于任何给定值列表,则匹配。 | |
使用逻辑 | |
反转查询谓词的效果,并返回与查询谓词不匹配的文档。 | |
使用逻辑 | |
匹配值与指定正则表达式匹配的文档。 | |
如果大量字段包含指定数量的元素,则选择文档。 | |
如果字段属于指定类型,则匹配文档。 | |
匹配满足 JavaScript 表达式的文档。 |