aggregation 相关问题

聚合是两个类之间的关系,最好描述为“has-a”和“whole / part”关系。

在聚合中使用Python-Polars时如何计算众数

我正在参与一个数据挖掘项目,在进行特征工程时遇到一些问题。我的目标之一是根据主键聚合数据,并生成新列。所以我...

回答 1 投票 0

流式 SQL - 如何在简单的滚动窗口聚合中获取最后一条记录

环境 - AWS Kinesis Analytics(但我可以采用建议的任何流式 SQL 概念并将其应用到我的环境中) 我有这样的源数据不断流入: epoc_时间戳

回答 1 投票 0

为什么allowDiskUse在$group阶段的聚合管道中不起作用?

我正在开发一个聚合管道来清理数据库集合中的重复数据。但即使在设置 {allowDiskUse: true } 后,它也会抛出以下错误。 错误:“

回答 1 投票 0

Cypher - 返回聚合(计数或总和)大于 1 的行

新手和我有一张图表,其中“员工”在“零售商”工作,“客户”在“零售商”购物。客户进行的某些交易存在“争议”。我正在想办法...

回答 1 投票 0

在 MongoDB 查询中添加来自另一个集合的匹配文档的计数

我有2个收藏: 公寓: {_id: '1', 地址: '1 号街'}, {_id: '2', 地址: '2号街'}, {_id: '3', 地址: '3号街'}, {_id: '4', 地址: '4 号街'} 和用户: {_id: '1', name: '我们...

回答 1 投票 0

如何使用聚合 MongoDB 进行 SELECT DISTINCT

我正在研究 Mongo 查询,我有一个关于如何使用聚合在 Mongo 查询上进行“选择不同”的问题。我真的很接近完成它了。 我当前的输出: [ { “user_id&qu...

回答 1 投票 0

从两个连接的文档获取电话和电子邮件的管道是什么?

我正在尝试将电子邮件和电话号码合并到为用户返回的单个文档中,该文档是从其他两个文档获取的。我有一条“几乎”有效的管道...但它不是q...

回答 1 投票 0

在 mongodb 聚合中添加缺少序列日期的文档

这里看到这个集合,其中有一条记录为二月 14 日的 createAt 和一条二月 16 日的记录,现在查询集合上的聚合,例如我想添加 2 月 15 日的文档,因为它在

回答 1 投票 0

MongoDB Join过滤器,输入,as,if,eq_id存在

2 模式用户和卡 我将 user.catagories 存储在 user.catagory 下,以及与数组中列出的 catagory.cards 关联的卡片。 我将所有卡片数据存储在卡片架构中。 (见...

回答 1 投票 0

MongoDB 合并对象数组,并通过键更新值

我陷入了聚合的困境,我需要更新对象数组内的分析值。 我有一个生成这样的对象的聚合: { “密钥”:“产品1”...

回答 1 投票 0

MongoDB 聚合并查找具有多个数组的对象

我有一个包含对象的集合,每个对象都包含多个数组。例如 组件:{ 机械项目:[{ 机械 ID: 我有一个包含对象的集合,每个对象都包含多个数组。例如 assmemblies: { mechanicalItems: [{ mechanicalId: <ObjectId that references the mechanicalitems collection>, quantity: Number }], electricalItems: [{ mechanicalId: <ObjectId that references the mechanicalitems collection> quantity: Number }], 我正在尝试执行查找,以将 mechanicalitems 和 electricalitems 中的所有字段放入程序集集合中,但很难使 $lookup 工作。 当我尝试展开和分组时,我丢失了另一个数组,或者它最终嵌套在另一个数组的每个数组对象内。 我也尝试直接投影回数量属性,但我得到的是所有数量的数组: { $lookup: { from: "mechanicalitems", let: { mechanicalItem: "$mechanicalItems", item: "$machanicalItems.mechanicalId", }, pipeline: [ { $match: { $expr: { $in: ["$_id", "$$item"], }, }, }, { $project: { "quantity": "$$mechanicalItem.quantity" // <-- this gives an array of all the quantities } }, ], as: "mechanicalItems", }, }, 我尝试了一些其他选项,但无法完全得到我正在寻找的东西。 *** 编辑 - 预期输出 如果我的 mechanicalItems 字段是:“尺寸”、“材料”、“风格”,我的 electricalItems 字段是:“当前”、“评级”、“绝缘”,那么我的预期输出是: assemblies: { mechanicalItems: [{ item: { _id: <some ObjectId> size: '12', material: 'steel', style: 'thick' }, quantity: Number }, ... ], electricalItems: [{ item: { _id: <some ObjectId> current: '15', rating: 'low voltage', insulation: 'PVC' }, quantity: Number }, ... ] } 我希望将 mechanicalItemId 替换为 MechanicalItems 集合中的实际对象(并最终将该字段重命名为“item”,但我可以稍后使用 $addFields 或 $project 来做到这一点)。 有一个拼写错误:$machanicalItems.mechanicalId,应该是$mechanicalItems.mechanicalId。 mechanicalItem.quantity 返回一个数字数组,因为 mechanicalItem 是一个数组。相反,您需要获取 quantity 数组的匹配文档的单个 mechanicalItem 值,并将其设置到 quantity 字段。 db.assemblies.aggregate([ { $lookup: { from: "mechanicalitems", let: { mechanicalItem: "$mechanicalItems", item: "$mechanicalItems.mechanicalId" }, pipeline: [ { $match: { $expr: { $in: [ "$_id", "$$item" ] } } }, { $set: { "quantity": { $first: { $map: { input: { $filter: { input: "$$mechanicalItem", cond: { $eq: [ "$_id", "$$this.mechanicalId" ] } } }, in: "$$this.quantity" } } } } } ], as: "mechanicalItems" } } ]) 当您查找与 electricalItems 集合的连接时,electricalItems 数组的逻辑是相同的。 演示@Mongo Playground

回答 1 投票 0

Mongo 聚合并查找具有多个数组的对象

我有一个包含对象的集合,每个对象都包含多个数组。例如 组件:{ 机械项目:[{ 机械 ID: 我有一个包含对象的集合,每个对象都包含多个数组。例如 assmemblies: { mechanicalItems: [{ mechanicalId: <ObjectId that references the mechanicalitems collection>, quantity: Number }], electricalItems: [{ mechanicalId: <ObjectId that references the mechanicalitems collection> quantity: Number }], 我正在尝试执行查找,以将机械项目和电气项目中的所有字段放入组件集合中,但很难使 $lookup 工作。 当我尝试展开和分组时,我丢失了另一个数组,或者它最终嵌套在另一个数组的每个数组对象内。 我也尝试直接投影回数量属性,但我得到的是所有数量的数组: { $lookup: { from: "mechanicalitems", let: { mechanicalItem: "$mechanicalItems", item: "$machanicalItems.mechanicalId", }, pipeline: [ { $match: { $expr: { $in: ["$_id", "$$item"], }, }, }, { $project: { "quantity": "$$mechanicalItem.quantity" // <-- this gives an array of all the quantities } }, ], as: "mechanicalItems", }, }, 我尝试了一些其他选项,但无法完全得到我正在寻找的东西。 *** 编辑 - 预期输出 如果我的 MechanicalItems 字段为:“尺寸”、“材料”、“样式”,而我的 ElectricalItems 字段为:“电流”、“额定值”、“绝缘”,那么我的预期输出为: assemblies: { mechanicalItems: [{ item: { _id: <some ObjectId> size: '12', material: 'steel', style: 'thick' }, quantity: Number }, ... ], electricalItems: [{ item: { _id: <some ObjectId> current: '15', rating: 'low voltage', insulation: 'PVC' }, quantity: Number }, ... ] } 我希望将 MechanicalItemId 替换为 MechanicalItems 集合中的实际对象(并最终将该字段重命名为“item”,但我可以稍后使用 $addFields 或 $project 来做到这一点)。 有一个拼写错误:$machanicalItems.mechanicalId,应该是$mechanicalItems.mechanicalId。 mechanicalItem.quantity 返回一个数字数组,因为 mechanicalItem 是一个数组。相反,您需要获取 quantity 数组的匹配文档的单个 mechanicalItem 值,并将其设置到 quantity 字段。 db.assemblies.aggregate([ { $lookup: { from: "mechanicalitems", let: { mechanicalItem: "$mechanicalItems", item: "$mechanicalItems.mechanicalId" }, pipeline: [ { $match: { $expr: { $in: [ "$_id", "$$item" ] } } }, { $set: { "quantity": { $first: { $map: { input: { $filter: { input: "$$mechanicalItem", cond: { $eq: [ "$_id", "$$this.mechanicalId" ] } } }, in: "$$this.quantity" } } } } } ], as: "mechanicalItems" } } ]) 当您查找与 electricalItems 集合的连接时,electricalItems 数组的逻辑是相同的。 演示@Mongo Playground

回答 1 投票 0

MongoDB 中的字符串聚合

我收集了以下文件: { “ID”: ..., “关键”:47 }, { “ID”: ..., “钥匙”:12 } 我想将整个集合聚合到一个

回答 1 投票 0

如何在具有不同对象顺序的对象数组上使用 $setUnion 来更新文档

我有这个文件: { "_id": "65b294740c5693e3deac0cea", “名称”:“伊朗伊斯兰共和国”, “人口”:95000000, “abb”:&qu...

回答 1 投票 0

如何在具有不同对象顺序的对象数组上使用 $setUnion 来更新文档

我有这个文件: { "_id": "65b294740c5693e3deac0cea", “名称”:“伊朗伊斯兰共和国”, “人口”:95000000, “abb”:&qu...

回答 1 投票 0

如何使用管道进行 $lookup,对评估布尔值和 OID 的对象数组进行匹配

我正在与 mongo 合作,目前面临着一个我完全无法弄清楚的问题。 我们有 2 个集合,我们正在对第一个集合进行聚合,并对第二个集合进行查找 这是...

回答 1 投票 0

使用 JPA 和 QueryDSL 聚合查询结果中的子实体

我正在使用 JPA 和 QueryDSL 开发 Java 应用程序,面临一对多关系查询的挑战。我有三个实体:文章、评论和反应。每篇文章(一篇)可以有

回答 1 投票 0

在Atlas搜索中使用skip和limit时的查询优化

我正在尝试在聚合中的 $search 之后使用 $skip 和 $limit 。每次当我尝试增加跳过大小时,执行时间都会变长 例子: 跳过 10 并限制 10 然后执行...

回答 2 投票 0

将对象数组转换为 mongodb 中的字符串数组

我正在查看以下文档。 下面将文档插入到集合类中。 db.classes.insertMany( [ { _id: 1, title: "阅读是...", 招生列表: [ &q...

回答 1 投票 0

我需要帮助聚合 mongoDb 聊天应用程序以接收来自每个相关聊天的最新消息

我正在尝试使用 React.js 和 Node.js/Express.js + MongoDB/Mongoose 制作一个聊天应用程序 我没有任何用于对话/聊天的表,因为用户只有一个对话,所以我尝试...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.