聚合命令

2024年9月6日 | 阅读 5 分钟

MongoDB 聚合命令

聚合命令使用聚合管道执行聚合操作。聚合管道允许用户使用基于阶段的应用程序序列对记录或其他来源执行数据处理。

语法

命令字段

字段类型描述
聚合string它包含聚合管道的名称
管道数组作为聚合管道一部分的,转换文档列表的数组。
解释boolean解释字段是可选的,用于返回有关管道处理的信息。
allowDiskUseboolean它允许命令写入临时文件。
光标document它处理包含创建游标对象的控制选项的文档。
maxTimeMS非负整数它定义了游标上处理操作的时间限制。
Bypass(绕过)
文档
验证
boolean仅当您指定了 out 或 merge 聚合阶段时才适用。
readConcerndocument它指定了读取关注点。可能的读取关注点级别为 - local、available、majority 和 linearizable。
排序规则document我们可以使用排序规则指定特定于语言的字符串比较规则。例如 - 大小写和重音标记的规则。
collation: 
{ locale: <string>,
   caseLevel: <boolean>,
   caseFirst: <string>,
   strength: <int>,
   numericOrdering: <boolean>,
   alternate: <string>,
   maxVariable: <string>,
   backwards: <boolean>}
提示字符串或文档它通过索引名称或索引规范文档声明索引。
commentstring我们可以声明一个任意字符串来帮助通过数据库分析器、currentOp 和日志跟踪操作。
writeConcerndocument它设置为使用带有 $out 或 $merge 管道阶段的默认写入关注点。

示例

我们在文章中有以下文档

现在,我们将对 articles 集合执行聚合操作,以计算集合中出现的每个 distinct 元素的标签数组的计数。

MongoDB Count 命令

MongoDB count 命令计算集合或视图中的文档数量。它返回一个包含计数和命令状态的文档。

语法

命令字段

字段类型描述
countstring它是要计数的集合或视图的名称。
query (查询)document它是可选的,用于选择要在集合或视图中计数的文档。
limit整数它是可选的,用于限制要返回的匹配文档的最大数量。
skip整数它是可选的,用于在返回结果之前跳过匹配的文档。
提示string它用于定义索引名称作为字符串或索引规范文档。
readConcern 文档它指定了读取关注点。
readConcern: { level: <value> }
排序规则document它允许我们定义特定于语言的字符串比较规则。
语法
collation: {
   locale: <string>,
   caseLevel: <boolean>,
   caseFirst: <string>,
   strength: <int>,
   numericOrdering: <boolean>,
   alternate: <string>,
   maxVariable: <string>,
   backwards: <boolean>
}

示例

计算集合中所有文档的数量

MongoDB Distinct 命令

此命令查找单个集合中给定字段的不同值。它返回一个包含不同值数组的文档。返回的文档包含一个嵌入式记录,其中包含查询统计信息和查询计划。

语法

命令字段

字段类型描述
distinctstring它是用于查询不同值的集合的名称
string这是命令返回不同值的字段。
query (查询)document它指定将从中检索不同值的文档。
readConcern 文档它指定了读取关注点。
readConcern: { level: <value> }
排序规则document它允许我们定义特定于语言的字符串比较规则。
语法
collation: {
   locale: <string>,
   caseLevel: <boolean>,
   caseFirst: <string>,
   strength: <int>,
   numericOrdering: <boolean>,
   alternate: <string>,
   maxVariable: <string>,
   backwards: <boolean>
}

示例

以下示例返回 library 集合中所有文档的字段书籍的不同值

MongoDB MapReduce 命令

MapReduce 命令允许我们在集合上运行 map-reduce 聚合操作。

语法

命令字段

字段类型描述
MapReducecollection它是我们想要执行 map-reduce 操作的集合的名称。
map功能它是一个 JavaScript 函数,用于关联或映射键值对。
reduce功能它是一个 JavaScript 函数,用于将与特定键关联的所有值简化为单个对象。
outstring它指定存储输出的位置。
query (查询)document它指定用于确定 map 函数输入的文档选择条件。
排序document它对输入文档进行排序。
limit数字它指定 map 函数的输入文档的最大数量。
finalize功能它遵循 reduce 方法来修改输出。
scopedocument它是一个选项,用于声明在 map 上可访问的全局变量。
jsModebooleanjsMode 指定是否将中间数据转换为 BSON 格式。
verboseboolean它指定是否在结果中包含时间信息。
bypass
文档
验证
boolean它允许 map-reduce 在操作期间绕过文档验证。
排序规则document它允许我们指定特定于语言的字符串比较规则。
collation: {
   locale: <string>,
   caseLevel: <boolean>,
   caseFirst: <string>,
   strength: <int>,
   numericOrdering: <boolean>,
   alternate: <string>,
   maxVariable: <string>,
   backwards: <boolean>
}
writeConcerndocument它是一个文档,用于表示在输出到集合时要使用的写入关注点。

示例


下一个主题地理空间命令