mongodb聚合统计

这篇具有很好参考价值的文章主要介绍了mongodb聚合统计。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

db.dept.aggregate([
  {
    $project: {
      _id: "$id",
      name: "$name"
    }
  },
  {
    $lookup: {
      from: "story",
      localField: "_id",
      foreignField: "initialDeptId",
      as: "stories"
    }
  },
  {
    $unwind: {
      path: "$stories",
      preserveNullAndEmptyArrays: true
    }
  },
  {
    $match: {
      $or: [
        {
          "stories.statusName": { $nin: ["草稿", "未知状态", "删除"] },
          "stories.submitDate": {
            $gte: ISODate("2023-01-01"),
            $lte: ISODate("2023-11-01")
          }
        },
        {
          "stories": { $exists: false }
        }
      ]
    }
  },
  {
    $group: {
      _id: "$_id",
      departmentName: { $first: "$name" },
      totalSubmissions: { $sum: 
		{ $cond: [{ $ifNull: ["$stories", false] }, 1, 0] }             //$cond 

文章来源地址https://www.toymoban.com/news/detail-741418.html

到了这里,关于mongodb聚合统计的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Mongodb 多文档聚合操作处理方法(单一聚合)

    聚合操作处理多个文档并返回计算结果。您可以使用聚合操作来: 将多个文档中的值分组在一起。 对分组数据执行操作以返回单个结果。 分析数据随时间的变化。 要执行聚合操作,您可以使用: 聚合管道 单一目的聚合方法 Map-reduce 函数 所有这些操作都会聚合来自单个集合

    2024年02月16日
    浏览(44)
  • Mongodb 多文档聚合操作处理方法三(聚合管道)

    聚合操作处理多个文档并返回计算结果。您可以使用聚合操作来: 将多个文档中的值分组在一起。 对分组数据执行操作以返回单个结果。 分析数据随时间的变化。 要执行聚合操作,您可以使用: 聚合管道 单一目的聚合方法 Map-reduce 函数 聚合管道由一个或多个处理文档的阶

    2024年02月15日
    浏览(61)
  • MongoDB聚合:$count

    $count 阶段用于统计管道中文档的数量。 string 是文档计数输出字段的名称。 string 必须是非空字符串,不能以 $ 开头,也不能包含 . 字符。 $count 阶段相当于下面 $group + $project 聚合序列: 其中 myCount 是包含计数的输出字段。也可以为输出字段指定其他名称。 \\\"scores\\\"的集合有以

    2024年02月02日
    浏览(35)
  • MongoDB聚合:$bucket

    $bucket 将输入文档按照指定的表达式和边界进行分组,每个分组为一个文档,称为“桶”,每个桶都有一个唯一的 _id ,其值为文件桶的下线。每个桶中至少要包含一个输入文档,也就是没有空桶。 语法 groupBy 对文档进行分组的表达式。若指定字段路径,需要在字段名前加上

    2024年01月23日
    浏览(46)
  • MongoDB聚合:$listLocalSessions

    聚合管道阶段:$listLocalSessions 可以列出 mongod 或 mongos 实例缓存在内存中的会话。 $listLocalSessionsstage 阶段可以接受一个文档,其内容如下: 字段 含义 { } 如果运行时有访问控制,则返回当前已验证用户的所有会话,否则返回所有会话。 { users: [ { user: user, db: db }, ... ] } 返回指

    2024年01月18日
    浏览(30)
  • MongoDB聚合:$indexStats

    返回有关集合中每个索引使用情况的统计信息。如果运行时有访问控制,请至少以 clusterMonitor 角色的用户身份进行验证。 对于每个索引,返回文件包括以下字段: 字段 含义 name 索引名称 key 索引规格 host mongod 进程的主机名和端口。 accesses 使用索引的统计:ops 是使用索引的

    2024年01月18日
    浏览(37)
  • MongoDB聚合:$project

    $project 聚合阶段可将输入文档根据请求的字段输出到管道的下个阶段,输出的字段可以是输入文档中的字段,也可以是新的计算字段。 $project 聚合接受一个文档参数,可以指定包含的字段,抑制 _id 字段,添加新的字段以及重置已有字段的值等。亦或者,也可以指定排除的字

    2024年02月20日
    浏览(24)
  • MongoDB聚合:$unset

    使用 $unset 阶段可移除文档中的某些字段。从版本4.2开始支持。 移除单个字段,可以直接指定要移除的字段名: 移除多个字段,可以指定一个要移除字段名的数组: u n s e t 和 unset和 u n se t 和 project 对于移除字段, $unset 相当于是 $project 的别名: 内嵌字段 要移除或排除内嵌

    2024年02月19日
    浏览(34)
  • MongoDB聚合:$documents

    $documents 阶段可以根据输入值返回字面意义的文档。 $documents 接受可解析为对象数组的任何有效表达式,包括: 系统变量,如 $$NOW 或 $$SEARCH_META $let 表达式 $lookup 表达式作用域中的变量 没有指向当前文档的表达式(如 $myField 或 $$ROOT )将导致错误。 测试管道阶段 下面例子为

    2024年01月22日
    浏览(44)
  • MongoDB聚合:$densify

    $densify 阶段可以为文档序列中字段缺失的某些值创建新文档。其主要的用途有: 补齐时间序列数据。 为分组数据添加缺失值。 为指定的值范围填充数据。 $densify 阶段的语法: $densify 阶段的参数主要有以下字段: field 必选字段,要填充的字段,字段的值必须是数值或日期类

    2024年02月20日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包