Mongo Facet 聚合与 Sum

2024-05-04

试图在这个聚合中找出一些简单的东西。元数据下的“totalArrests”字段返回 0。由于某种原因,无法对前一阶段的该字段求和。请指教。

const agg = await KID.aggregate([
        { 
            $group: {
                _id: "$source", // group by this
                title: { "$last": "$title"},
                comments: { "$last": "$comments"},
                body: { "$last": "$body"},
                date: { "$last": "$date"},
                media: { "$last": "$media"},
                source: { "$last": "$source"},
                count: { "$sum": 1},
                arrestCount: { "$sum": "$arrested"},
                rescuedCount: { "$sum": "$rescued"},
            }
        },
        // sorting
        {
            $sort: {date: sort}
        },
        // facets for paging
        {
            $facet: {
                metadata: [ 
                    { $count: "total" },  // Returns a count of the number of documents at this stage
                    { $addFields: { 
                        page: page, 
                        limit: 30,
                        totalArrests: {$sum: "$arrestCount"}
                    }},
                ],
                kids: [ { $skip: (page-1)*30 }, { $limit: 30 } ]
            }
        },
    ]);

这是集合中的示例文档。

[
  {
    _id: 5e8b922aaf5ccf5ac588398c,
    counter: 4,
    date: 2017-01-01T17:00:00.000Z,
    name: 'Steven Tucker',
    arrested: 1,
    rescued: 0,
    country: 'US',
    state: 'NH',
    comments: 'Sex trafficking of a minor',
    source: 'https://www.justice.gov/opa/pr/new-hampshire-man-indicted-sex-trafficking-minor-connection-interstate-prostitution',
    title: 'New ....',
    body: 'Steven Tucker, 31, ....',
    __v: 0,
    media: {
      title: 'New Hampshire Man Indicted for Sex ...',
      open_graph: [Object],
      twitter_card: [Object],
      favicon: 'https://www.justice.gov/sites/default/files/favicon.png'
    },
    id: 5e8b922aaf5ccf5ac588398c,
    text: 'New Hampshire Man Indicted',
    utcDate: '2017-01-01T12:00'
  }
]

$count只会为您提供文档数量的计数并转义所有其他内容。

所以,你必须再使用一个管道$facet为了获得文件。

{ $facet: {
  metadata: [
    { $group: {
      _id: null,
      total: { $sum: 1 },
      totalArrested: { $sum: "$arrestCount" }
    }},
    { $project: {
      total: 1,
      totalArrested: 1,
      page: page,
      limit: 30,
      hasMore: { $gt: [{ $ceil: { $divide: ["$total", 30] }}, page] }
    }}
  ],
  kids: [{ $skip: (page-1) * 30 }, { $limit: 30 }]
}}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Mongo Facet 聚合与 Sum 的相关文章

  • 最小验证在 Mongoose 中不起作用

    我有一个架构 其中余额字段的声明如下所示 balance type Number min 0 default 30 我将 0 设置为最小值 这样余额就不会为负值 但是当我通过更新查询减少余额值时 余额结果是负值 我的更新查询 User up
  • Node js mongodb 删除错误“key $lte 不得以 '$' 开头”

    db collection session remove timestamp lte a function err docs console log err console log docs Version mongodb is 2 6 5
  • 在 Meteor 中运行示例的问题

    我正在测试 Meteor 示例 这是我运行时看到的meteor在待办事项示例中 Unexpected mongo exit code 100 Restarting Unexpected mongo exit code 100 Restart
  • Android 上的 SQLite 和 MongoDB 具有同步功能

    是否可以在 Android 上使用 SQLite 在服务器上使用像 MongoDB 这样的 NoSQL 数据库 并在两者之间进行 2 路数据复制 同步 或者最好在两端使用 SQL 或者在两端使用 NoSQL 但不要混合使用 有几种不同的方法
  • 在最新的 MongoDB java 驱动程序中使用 createIndex() 时,索引已存在并出现不同选项错误

    所以我将 MongoDB java 驱动程序升级到 2 12 4 其中ensureIndex 方法已被弃用 我改为使用createIndex 从文档来看 该方法的功能类似于ensureIndex 但是 当我在生产中使用此方法时 出现以下错误
  • 如何在CentOS 5.3上安装php-mongodb?

    我已经在我的 VPS 上安装了 mongoDB 效果很好 现在我想安装 php 驱动程序以使 php 与 mongoDB 一起工作 我跟着蒙戈安装 http www php net manual en mongo installation
  • MongoDb 注册类映射

    我有以下代码 我希望 MiscellaneousData 覆盖抽象的 MiscellaneousDataBase 然而 IdMemberMap 总是出现空值 使用独立的 正常 类是可行的 if BsonClassMap IsClassMap
  • 如何使用对象数组创建猫鼬模式

    我有这个 json data id 1 name Sample test description this is a sample test category tests points 100 startDate 2018 02 15 00
  • MongoDB 日志文件和 oplog 有什么不同?

    我最近开始使用 Mongodb 并尝试探索副本集和崩溃恢复 我读过它就像日志文件写入头重做日志文件一样 oplog 文件是每个写入活动都将被写入的文件 这两个有什么区别 我们在主站和从站上都有操作日志吗 请发布任何可以阐明该领域的网络链接
  • 用于标签搜索的数据存储解决方案

    我已经按照预先计算的分数订购了数百万件商品 每个项目都有许多布尔属性 假设总共有大约一万个可能的属性 每个项目有十几个 我希望能够请求实时 几毫秒 给定任意属性组合的前 n 个项目 您会推荐什么解决方案 我正在寻找可扩展性极强的东西 我们目
  • 以 Rails 形式处理 MongoMapper EmbeddedDocument

    首先 我对一般编程和 Rails 都是新手 我选择 Rails 是因为它看起来是一种很容易上手的语言 对于我的项目 我将 MongoMapper 与 Rails 结合使用 我正在尝试以与文档相同的形式处理嵌入文档 我有以下模型 class
  • 在 Google App Engine 上连接 Mongoose

    我已在 Google App Engine 上成功部署了自定义 Node js 应用程序 但是 我在启动应用程序时遇到问题 因为猫鼬在尝试连接时超时 令人沮丧的是 猫鼬在我的本地计算机上以完全相同的参数连接得很好 我的 MongoDb UR
  • MongoDB 支持浮点类型吗?

    我正在将 mysql 数据库迁移到 mongodb 但我读过 MongoDb 数据类型 然后没有引用浮点类型 如 float double decimal 我如何在 mysql 模式中拥有一些带有十进制类型的字段 我该怎么做或我能做什么 M
  • 猫鼬和部分选择/更新

    在node js中 当我使用Mongoose时 是否可以只获取大对象的部分值 是否可以只更新部分值 要仅获取某些字段 请将字段名称字符串作为第二个参数传递给find Include the first and last properties
  • MongoDB:计算数组中的项目数

    我有一个集合 其中集合中的每个文档都有一个名为的数组foo包含一组嵌入文档 目前 MongoDB shell 中是否有一种简单的方法来计算其中有多少个实例foo 就像是 db mycollection foos count or db my
  • MongooseError:操作 `orders.deleteMany()` 缓冲在 10000 毫秒后超时

    当我运行我的应用程序时npm run seeder然后我面临这个错误 我仔细检查了我的数据库连接 没问题 另外 我检查了我的 ordermodels 文件也没有问题 我用过MongoDB的compass没有任何问题 我不知道为什么显示buf
  • 重命名猫鼬中的字段[重复]

    这个问题在这里已经有答案了 我有两个 JSON 对象 每个对象都有一个名字字段 我想将名字重命名为名称 还想使用猫鼬将现有的名字值导入到名称 Schema const mongoose require mongoose const Sche
  • MongoDB:与基本查找相比,管道查找性能较慢

    我有两个收藏 matches date 2020 02 15T17 00 00Z players id 5efd9485aba4e3d01942a2ce id 5efd9485aba4e3d01942a2cf and players id
  • 如何查找 mongoose 的所有集合

    我应该找到存储在 mongo 数据库中的所有集合 require app models schemas loading application schemas mongoose connect mongodb localhost test
  • MongoDB:尝试从 JSON 读取 Long 导致 java.lang.Integer 无法转换为 java.lang.Long

    我有一个代码可以从 MongoDB 读取特定格式的数据 我需要测试一下 为此 我使用要测试的数据创建一个 JSON id ObjectId 57552e32e4b0839ede67e0af serial 574000690 startDat

随机推荐

  • Python 视图与复制错误希望我仅在脚本中使用 .loc

    我正在运行一个很长的脚本 其中有一个数据框df 随着脚本运行 构建和修改df我在命令行中一列又一列地收到此错误 尝试在 DataFrame 的切片副本上设置一个值 尝试 使用 loc row indexer col indexer valu
  • 在 Java、Android 上从 Youtube 下载视频的代码

    我创建了从 Youtube 下载视频的代码 但此代码不适用于 Wi fi 连接 但适用于移动连接 我哪里有错误 import java io File import java io FileOutputStream import java
  • Spring Security 3 以编程方式登录

    我正在使用 spring 创建一个 REST Web 服务 我需要在其中实现登录 注销功能 函数的 url 应类似于 api login 和 api logout 用户名和密码将使用 POST 方法传递 我在 REST Web 服务下面有一
  • 消息在事务处理时未到达 MSMQ

    我在本地计算机中创建了一个私有 MSMQ 我使用以下 C 代码将消息发送到队列 当我将队列更改为事务性队列时 消息未到达 MSMQ 但是 Send 方法中没有抛出异常 我需要做出什么改变才能使其发挥作用 using System using
  • 响应中的有效 JSON

    我正在开发客户端和服务器应用程序 遇到了一个有趣的问题 我们正在创建一个 Restful API 并通过 JSON 响应与客户端进行通信 执行 DELETE 时 我们将返回 200 OK 和空白响应 我们的客户收到 200 OK 但解析 J
  • Ionic 框架:创建项目时 Ionic 构建失败 (v4.12.0)

    I have ionic安装在我的系统中 当我跑步时ionic run app tabs它安装了所有npm包 但随后提示符变为 Downloading binary from https github com sass node sass
  • 使用 NumPy 查找元组列表第二个元素的中位数

    假设我有一个元组列表 如下所示 list a 1 b 3 c 5 我的目标是使用元组的第二个元素来获取元组列表中位数的第一个元素 在上面的情况下 我想要 b 的输出 因为中位数是 3 我尝试使用 NumPy 和以下代码 但无济于事 impo
  • Typescript 中的forwardRef 和defaultProps

    我正在尝试在forwardRef 中使用defaultProps 当我使用没有forwardRef的MessageBox时 它与defaultProps配合得很好 但是 当我使用forwardRef 时 会发生错误 怎么解决呢 打字稿 3
  • Compact Framework 3.5 上的 System.Data.SQLite 问题

    我在我的紧凑框架应用程序中使用 sqlite 来记录系统中的事件 我也在使用系统 数据 SQLite http sqlite phxsoftware com 该事件具有描述其发生时间的时间戳 我将此时间戳记作为刻度存储在我的表中 除此列外
  • C++ 标准是否保证未使用的私有字段会影响 sizeof?

    考虑以下结构 class Foo int a 在 g 中测试 我明白了sizeof Foo 4但这是由标准保证的吗 是否允许编译器注意到a是一个未使用的私有字段并将其从类的内存表示中删除 导致更小的 sizeof 我不希望任何编译器真正进行
  • 使用故事板和分割视图控制器在应用程序启动时正确显示条件登录屏幕?

    这看起来应该很简单 但事实证明它有很多具有挑战性的细微差别 而且我还没有在 Stack Overflow 上的其他地方找到完整 清晰和简单地回答这个问题的答案 简而言之 我有一个 iPad 应用程序 它使用故事板来布局应用程序流程 并使用分
  • 如何在 .NET Core 中设置全局环境变量(用户范围或系统范围)

    在完整的 NET中我们可以通过EnvironmentVariableTarget枚举到Environment SetEnvironmentVariable call public enum EnvironmentVariableTarget
  • 按下关闭按钮时 Java FX 中的关闭事件

    如果我直接按右上角的 X 按钮关闭窗口 Java FX 中是否存在任何事件处理程序 在这种情况下哪些事件会引起火灾 到目前为止 没有任何效果 setOnHiding 和 setOnCloseRequest 都不起作用 请帮忙 试试这个 im
  • 如何取消 NetworkStream.ReadAsync 而不关闭流

    我正在尝试使用 NetworkStream ReadAsync 读取数据 但我找不到如何取消调用后的 ReadAsync 作为背景 NetworkStream 由连接的 BluetoothClient 对象 来自 32Feet NET 蓝牙
  • 关于正则表达式中的问号

    我看到一个正则表达式说 i 那么当我们在一个字符前面加一个问号时 它意味着什么呢 一般来说 它没有任何意义 甚至可能导致错误 如果问号后面没有有效字符 但有些字符确实有效果 即如果该字符也用作modifier http www regula
  • PHP/Web 脚本保护

    我想用 PHP 和 javascript 编写一个脚本 并以某种方式保护我的源代码 以便我可以出售我的脚本 我正在寻找如何保护我的脚本的想法 如果我将其出售给某人 我如何阻止该人将其作为他们的产品重新分发 我知道有ZEND和ionCube
  • 贾瓦尔 (JNI) 不可用

    Windows 7 64 位 Eclipse Indigo SlickSVN 1 6 17 均已安装 并带有在 Windows 中输入的库的路径 为什么我收到消息 JAVAHL JNI Not available 以及为什么 Eclipse
  • 仅使用 url 嵌入视频

    给定一个 youtube url 我如何使用 net c 将视频嵌入到页面中 只需添加如下一行 将 autoplay 设置为 0 或 1 取决于您是否希望人们真正留在您的页面上
  • 即使设置为 false,clipChildren 也不起作用?

    在我的应用程序中 我尝试使用动画移动图像 当我尝试制作动画时 即使我使用了图像 图像也会被剪切clipChildren每个 xml 块中均为 false
  • Mongo Facet 聚合与 Sum

    试图在这个聚合中找出一些简单的东西 元数据下的 totalArrests 字段返回 0 由于某种原因 无法对前一阶段的该字段求和 请指教 const agg await KID aggregate group id source group