aggregation-framework 相关问题

MongoDB聚合框架提供了一种在MongoDB 2.2+中重塑和聚合数据的方法。

Mongo聚合项目数组交集

我有一个文档集合,其中每个文档可能有一个 teamId 数组,例如: { “id”:1, “teamsIds”:[“team_a”,“team_b”] } 我正在尝试...

回答 2 投票 0

Mongo DB 查找使用 3 个集合以及投影中选定的字段

我有 3 个集合,我正在通过连接 3 个集合来查找数据。 我已经知道如何加入 2 个集合并获取数据。请参阅下面的示例数据和聚合,我已经尝试过 2

回答 1 投票 0

如何让MongoDB高效统计桶中数百万个文档

我在 MongoDB 7 中有一个集合,其中包含数百万个文档,如下所示: { _ID: ..., event_type:“查看”, 节目ID:“12345”, 时间戳:ISODate(“2024-01-01T...

回答 1 投票 0

在聚合中过滤 mongodb 键

我有一个如下所示的文件 { “姓名” :{ “英语”:“AA”, “孟加拉语”:“BB”, “古吉拉特语”:“CC”, “印地语”:“...

回答 2 投票 0

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

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

回答 1 投票 0

用其他集合中的文档替换嵌套文档数组中的值

集合 Shops 包含嵌套文档。使用聚合框架,我想从商店获取所有文档,其中“产品”字段中的 UID 被替换为实际的

回答 1 投票 0

使用 $lookup 将嵌套文档中的值替换为其他集合中的匹配文档

我有两个这样的集合: // 集合商店 [ { "name": "A 店", “国家”:[ { “名称”:“德国”, ”

回答 1 投票 0

MongoDB 在组聚合中使用 $regex

我有这样的样本数据: `db.contact.插入( [ { _id: 1, 姓名: '约翰传奇',年龄: 35}, { _id: 2, 姓名: '迈克尔·艾娃',年龄: 40}, { _id: 3, 姓名: '汤姆霍兰德',年龄: 20}, { _id:4,名称:'

回答 1 投票 0

MongoDB聚合框架父子关系复杂查询

我是 mongodb 的新手,所以我希望这不会成为一个非常基本的问题。我尝试应用我所发现的内容,但不知何故我遗漏了某些部分并且需要帮助: 我有两个亲子收藏...

回答 1 投票 0

在MongoDB聚合中根据条件添加一个值递增的字段

我的收藏样本: [ { _id: "bmasndvhjbcw", 姓名:“卢卡斯”, 职业:“科学家”, 年龄:55岁, 地点:“德克萨斯州”, 加入日期: 2019-01-01T15:24:15.068+00:00 }, ...

回答 2 投票 0

如何使用多个 OR 参数从多个集合进行聚合

我尝试使用聚合和 $lookup 将 postgreSQL 查询(来自 vercel 的 nextjs 仪表板教程)转换为 mongodb 查询。 我知道如何聚合多个集合并过滤一个集合

回答 2 投票 0

如何使用“递归”$objectToArray 或 mongodb 中的其他方法解压嵌套映射

我正在尝试将嵌套的 KV 映射替换/$设置为单独的键和值集合,以便在查询过程中进一步使用,并且这需要递归地发生,但是嵌套的映射可能...

回答 1 投票 0

mongodb 中按字段统计不同值的快速方法

我想要一种更快的方法来统计包含超过 1000 万个文档的 MongoDB Collection 中的不同字段;我的架构如下所示: [ { //-- 类型和日期 “日期”:...

回答 1 投票 0

从 mongo 聚合查询中嵌套数组内的第一个匹配元素投影属性

文档架构: {, "prop1" : "一些值", "prop2" : "另一个值", “数组1”:[ { “field_a”:“值_...

回答 1 投票 0

MongoDB:如何在聚合阶段分组时计算数组中的不同值

我有一个聚合管道,我试图在其中查找数组属性中的唯一值以及每个文档数组中每个值的实例数。 我到达了一个阶段

回答 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

MongoDB 聚合:查找每个月相交的日期范围数量

问题 我想仅使用 MongoDB 聚合来执行任务,而不需要额外的代码。这与我们运行聚合的环境有关。 我们有一个用户集合。在我们的应用程序中,用户可以...

回答 1 投票 0

如何忽略 MongoDB $eq 数字聚合运算符的类型比较?

$eq 运算符比较 MongoDB 中的值和类型,如 https://www.mongodb.com/docs/manual/reference/operator/aggregation/eq 中所述。 有没有什么方法可以忽略类型比较...

回答 1 投票 0

如何忽略 MongoDB $eq 数字聚合运算符的类型比较?

$eq 运算符比较 MongoDB 中的值和类型,如 https://www.mongodb.com/docs/manual/reference/operator/aggregation/eq 中所述。 有没有什么方法可以忽略类型比较...

回答 1 投票 0

如何使用一组 ids 计算一个集合中的金额并更新另一个集合中的字段?

愚蠢的是,我同意为我们在工作中举办的梦幻一级方程式比赛建立一个网站。 我是 mongobd 的新手,我对如何更新每个玩家的总积分感到困惑......

回答 1 投票 0

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