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