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日
    浏览(42)
  • Mongodb 多文档聚合操作处理方法三(聚合管道)

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

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

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

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

    聚合阶段 $collStates 用于返回集合或视图统计信息。 $collStats 接收一个文档参数,可选的字段如下: latencyStats 延迟统计信息 向返回结果添加延迟统计信息,包括读、写、命令、事务的时间。 latencyStats.histograms 延迟统计柱状图数据 当值为 true 时,向 latencyStats 内嵌文档中添加

    2024年01月19日
    浏览(31)
  • [Mongodb 5.0]聚合操作

     本文对应Aggregation Operations — MongoDB Manual    正文 此章节主要介绍了Aggregation Pipeline,其实就是将若干个聚合操作放在管道中进行执行,每一个聚合操作的结果作为下一个聚合操作的输入,每个聚合指令被称为一个stage。 在正式开始学习聚合操作前,请先按照下面的方式在你

    2024年02月12日
    浏览(48)
  • MongoDB聚合操作

    提示:以下是本篇文章正文内容,MongoDB 系列学习将会持续更新 单一作用聚合 :提供了对常见聚合过程的简单访问,操作都从单个集合聚合文档。 函数 描述 db.collection.estimatedDocumentCount() 忽略查询条件,返回集合或视图中所有文档的计数 db.collection.count() 返回与find()集合或视

    2024年02月03日
    浏览(31)
  • 整理mongodb文档:聚合管道

    整理mongodb文档:聚合管道 个人博客,求关注,电脑版看体验更加,如果不够清晰,请指出来,谢谢 文章主要通过几个常用的聚合表达式来介绍聚合管道的使用,以及从索引的角度来介绍聚合管道的限制,让大家对聚合管道有一个理解。 聚合操作处理数据记录和 return 计算结果

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

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

    2024年02月02日
    浏览(33)
  • MongoDB聚合操作:$changeStream

    返回集合、数据库或整个群集上的 Change Stream 游标。必须在聚合管道的第一阶段使用。 allChangesForCluster 可选:设置Change Stream是否包括群集中的所有更改。可能只能在管理数据库中打开。 fullDocument 可选:指定 update 操作修改时,更改通知是否包含完整文档的副本。 default :更

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

    变更流(Change stream)允许应用访问数据实时变更情况,应用可以使用变更流订阅集合、数据库甚至整个部署的数据变化并直接跟它们进行交互。因为变更流使用了聚合框架,所以应用也可以筛选特定的变化并灵活的转换通知。 如果变更流的事件超过16M,将返回 BSONObjectTooLa

    2024年02月02日
    浏览(18)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包