MongoDB 运算符

查询

比较

名称 描述
$eq 匹配 等于 指定值的值
$gt 匹配 大于 指定值的值
$gte 匹配 大于或等于 指定值的值
$in 匹配 数组中 指定的任何值
$lt 匹配 小于 指定值的值
$lte 匹配 小于或等于 指定值的值
$ne 匹配 所有不等于 指定值的值
$nin 不匹配数组中指定的任何值

逻辑

名称 描述
$and 将查询子句与逻辑 AND 连接,返回匹配这两个子句条件的所有文档
$not 反转查询表达式的效果,并返回与查询表达式不匹配的文档
$nor 将查询子句与逻辑 NOR 连接,返回两个子句都不匹配的所有文档。
$or 将查询子句与逻辑 OR 连接,返回与任一子句条件匹配的所有文档

元素

名称 描述
$exists 匹配具有指定字段的文档
$type 如果字段为指定类型,则选择文档

更新

字段

名称 描述
$currentDate 将字段的值设置为当前日期,作为日期或时间戳
$inc 将字段的值增加指定的数量
$min 仅当指定值小于现有字段值时才更新该字段
$max 仅当指定值大于现有字段值时才更新该字段
$mul 将字段的值乘以指定的数量
$rename 重命名字段
$set 设置文档中字段的值
$setOnInsert 如果更新导致插入文档,则设置字段的值。对修改现有文档的更新操作没有影响
$unset 从文档中删除指定的字段
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
test> db.inventory.updateOne(
... {item:"paper"},
... {
..... $set: {"size.uom":"cm", status:"p"},
..... $currentDate: {lastModified: true}
..... }
... )
{
acknowledged: true,
insertedId: null,
matchedCount: 1,
modifiedCount: 1,
upsertedCount: 0
}



数组

名称 描述
$ 充当占位符以更新与查询条件匹配的第一个元素
$[] 充当占位符,为匹配查询条件的文档更新数组中的所有元素
$[<identifier>] 充当占位符,arrayFilters为符合查询条件的文档更新符合条件的所有元素
$addToSet 仅当集合中尚不存在元素时,才将元素添加到数组中
$pop 删除数组的第一项或最后一项
$pull 删除与指定查询匹配的所有数组元素
$push 将项目添加到数组
$pullAll 从数组中删除所有匹配的值