聚合命令2024年9月6日 | 阅读 5 分钟 MongoDB 聚合命令聚合命令使用聚合管道执行聚合操作。聚合管道允许用户使用基于阶段的应用程序序列对记录或其他来源执行数据处理。 语法 命令字段 字段 | 类型 | 描述 |
---|
聚合 | string | 它包含聚合管道的名称 | 管道 | 数组 | 作为聚合管道一部分的,转换文档列表的数组。 | 解释 | boolean | 解释字段是可选的,用于返回有关管道处理的信息。 | allowDiskUse | boolean | 它允许命令写入临时文件。 | 光标 | document | 它处理包含创建游标对象的控制选项的文档。 | maxTimeMS | 非负整数 | 它定义了游标上处理操作的时间限制。 | Bypass(绕过) 文档 验证 | boolean | 仅当您指定了 out 或 merge 聚合阶段时才适用。 | readConcern | document | 它指定了读取关注点。可能的读取关注点级别为 - local、available、majority 和 linearizable。 | 排序规则 | document | 我们可以使用排序规则指定特定于语言的字符串比较规则。例如 - 大小写和重音标记的规则。collation:
{ locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>}
| 提示 | 字符串或文档 | 它通过索引名称或索引规范文档声明索引。 | comment | string | 我们可以声明一个任意字符串来帮助通过数据库分析器、currentOp 和日志跟踪操作。 | writeConcern | document | 它设置为使用带有 $out 或 $merge 管道阶段的默认写入关注点。 |
示例 我们在文章中有以下文档 现在,我们将对 articles 集合执行聚合操作,以计算集合中出现的每个 distinct 元素的标签数组的计数。 MongoDB Count 命令MongoDB count 命令计算集合或视图中的文档数量。它返回一个包含计数和命令状态的文档。 语法 命令字段 字段 | 类型 | 描述 |
---|
count | string | 它是要计数的集合或视图的名称。 | 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 命令此命令查找单个集合中给定字段的不同值。它返回一个包含不同值数组的文档。返回的文档包含一个嵌入式记录,其中包含查询统计信息和查询计划。 语法 命令字段 字段 | 类型 | 描述 |
---|
distinct | string | 它是用于查询不同值的集合的名称 | 键 | 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 聚合操作。 语法 命令字段 字段 | 类型 | 描述 |
---|
MapReduce | collection | 它是我们想要执行 map-reduce 操作的集合的名称。 | map | 功能 | 它是一个 JavaScript 函数,用于关联或映射键值对。 | reduce | 功能 | 它是一个 JavaScript 函数,用于将与特定键关联的所有值简化为单个对象。 | out | string | 它指定存储输出的位置。 | query (查询) | document | 它指定用于确定 map 函数输入的文档选择条件。 | 排序 | document | 它对输入文档进行排序。 | limit | 数字 | 它指定 map 函数的输入文档的最大数量。 | finalize | 功能 | 它遵循 reduce 方法来修改输出。 | scope | document | 它是一个选项,用于声明在 map 上可访问的全局变量。 | jsMode | boolean | jsMode 指定是否将中间数据转换为 BSON 格式。 | verbose | boolean | 它指定是否在结果中包含时间信息。 | bypass 文档 验证 | boolean | 它允许 map-reduce 在操作期间绕过文档验证。 | 排序规则 | document | 它允许我们指定特定于语言的字符串比较规则。collation: {
locale: <string>,
caseLevel: <boolean>,
caseFirst: <string>,
strength: <int>,
numericOrdering: <boolean>,
alternate: <string>,
maxVariable: <string>,
backwards: <boolean>
} | writeConcern | document | 它是一个文档,用于表示在输出到集合时要使用的写入关注点。 |
示例
|