MongoDB Casbah运算符

Casbah通过运算符提供了非常灵活的语法,用于构建DBObject文档对象。

–比较运算符

$eq 相等,例如 “price” $eq 10
$ne 不等于
$gt 大于
$gte大于等于
$lt 小于
$lte小于等于
$in 类似于SQL中的in,例如 “size” $in (“S”, “M”, “L”)
$all匹配包含所有元素的数组,例如 “size” $all (“S”, “M”, “L”)

–逻辑运算符

,用于匹配表达式的运算。见sample
$or

$and

$not

$nor not(or),Joins query clauses with a logical NOR returns all documents that fail to match both clauses.

–元素运算符

$exists Matches documents that have the specified field.例如

$mod 进行一个取模运算,当结果为特定值时,选择这个文档。例如

$type当一个字段为特定的类型时,选择这个文档。例如

–JavaScript运算符

$where 匹配满足js表达式的文档,例如

$regex 匹配满足正则表达式的文档,也可以使用scala的正则表达式。例如

–地理空间表达式(Geospatial Operators)

$geoWithin 选择一个GeoJSON几何边界的地理对象(geometry)

$geoIntersects 选择一个和GeoJSON对象有交集的文档地理对象(geometry)

$near 返回最临近一个点的地理空间对象(geospatial objects)
$nearSphere 同上,以球体距离(on a sphere)。

–数组查询运算符

$elemMatch 当数组域匹配所有$elemMatch条件时,选择该文档

$size 当数组域是指定大小时,选择该文档

–域操作符

$inc 正常对应的域指定的值(可以为负)

$rename 将域改名

$setOnInsert Sets the value of a field upon documentation creation during an upsert. Has no effect on update operations that modify existing documents:

$set 修改现有文档存在的域的值

$unset 删除现有文档中存在的域

–数组更新运算符

$addToSet 添加元素到一个现有的数组中。
$addToSet 为现有数组添加一个不存在的值

$pop 移除数组第一个/最后一个值(Removes the first or last item of an array)

$pull移除数组中满足查询条件的值

$pullAll 移除数组中的多个值

$push 为数组添加一个元素

–位运算符

$bit Performs bitwise AND and OR updates of integer values:

^^

Posted in Database, JavaScript, NoSQL.