Alan Hou的个人博客

MongoDB基础

什么是MongoDB?

存储文档非关系型数据库

使用 Docker容器运行 MongoDB

文档主键 _id,默认的 ObjectId 包含12位,前4位表示时间,精确到秒

集合方法

运算符

查询和投影运算符

比较查询运算符

名称 描述
$eq 匹配与指定值相等的值。
$gt 匹配大于指定值的值
$gte 匹配大于等于指定值的值。
$in 仅匹配指定数组中的值。
$lt 匹配小于指定值的值。
$lte 匹配小于等于指定值的值。
$ne 匹配所有不等于指定值的值。
$nin 匹配不在指定数组中的值。

逻辑查询运算符

名称 描述
$and 使用逻辑与 AND 拼接查询语句,返回匹配两条语句的所有文档。
$not 查询表达式的反向效果,返回不匹配查询表达式的文档。
$nor 使用逻辑非 NOR 连接查询语句,返回所有无法匹配两条语句的文档。
$or 使用逻辑或 OR 连接查询语句,返回所有匹配任意一条语句条件的文档。

元素查询运算符

名称 描述
$exists 匹配有指定字段的文档。
$type 选择字段为指定类型的文档。

运行查询运算符

名称 描述
$expr 允许在查询语句中使用聚合表达式。
$jsonSchema 按照给定的JSON模式验证文档。
$mod 对字段值执行取模运算并通过指定结果选取文档。
$regex 选择值匹配指定正则表达式的文档。
$text 执行文本搜索。
$where 匹配满足某JavaScript表达式的文档。

数组查询运算符

名称 描述
$all 匹配包含查询中指定的所有元素的数组。
$elemMatch 选取元素匹配数组中字段匹配指定$elemMatch条件的文档。
$size 选项数组字段为指定大小的文档。

按位查询运算符

名称 描述
$bitsAllClear 匹配数值或二进制值,其中一组比特位置的值为 0
$bitsAllSet 匹配数值或二进制值,其中一组比特位置的值为 1
$bitsAnyClear 匹配数值或二进制值,其中一组比特位置中的任意位值为 0
$bitsAnySet 匹配数值或二进制值,其中一组比特位置中的任意位值为  1

其它

$comment

$(projection)

$elemMatch (projection)

$meta

$slice (projection)

更新运算符

字段更新运算符

名称 描述
$currentDate 设置字段值为当前日期,为Date或Timestamp。
$inc 使用给定值对字段值进行累加。
$min 仅在指定值小于已有字段值时更新字段。
$max 仅在指定值大于已有字段值时更新字段。
$mul 通过指定值乘以字段值。
$rename 重命名字段。
$set 在文档中设置字段值。
$setOnInsert 若更新导致文档插入的话设置字段值。对修改已有文档的更新运算不产生影响。
$unset 从文档中删除指定字段。

数组更新运算符

名称 描述
$ Acts as a placeholder to update the first element that matches the query condition.
$[] Acts as a placeholder to update all elements in an array for the documents that match the query condition.
$[<identifier>] Acts as a placeholder to update all elements that match the arrayFilters condition for the documents that match the query condition.
$addToSet Adds elements to an array only if they do not already exist in the set.
$pop Removes the first or last item of an array.
$pull Removes all array elements that match a specified query.
$push Adds an item to an array.
$pullAll Removes all matching values from an array.

按位更新运算符

名称 描述
$bit 对整型值执行按位与 AND,或 OR及非 XOR 更新.

 

退出移动版