aggregation-framework 相关问题

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

如何使用多个 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

MongoDB:$union具有单个值

我有两个收藏。我需要获取集合 A 中某个字段的最高值,并查找集合 B 中与其字段之一的该值不匹配的所有文档。我怀疑 $unionWith 是...

回答 1 投票 0

MongoDB:就地对嵌套数组的元素进行分组

想知道如何使用聚合管道按类型对过程数组进行就地分组。 所以转向这个: [ { “机场”:“MSP”, “国家”...

回答 1 投票 0

有什么方法可以为 mongoose.js 聚合提供 allowedDiskUse 选项吗?

我正在对大约 300k+ 条记录的集合运行聚合,这需要多次展开和重新组合。我遇到了以下错误; '例外:超出了 $group 的内存限制,但是...

回答 4 投票 0

根据 MongoDb 中的字段值将数据从一个集合保存到另一个集合

我有两个集合,一个是优惠券,另一个是用户。因此,在我的应用程序中,我想根据用户电子邮件分配优惠券。现在,在我的优惠券集合中,我想存储用户信息(来自

回答 1 投票 0

MongoDB:如何在 insertOne() 期间设置时间戳,而不像 PostgreSQL 中的 NOW() 那样为 insertOne() 使用 new Date()

时间:{ $currentDate:{ $type:“时间戳” } } }); 它不适用于 insert() 你能帮我吗,有人吗?

回答 1 投票 0

MongoDB 中的字符串聚合

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

回答 1 投票 0

NodeJS MongoDB CSFLE 聚合替换根错误

我在以下查询中收到此错误: 注意:打孔集合未加密,也没有任何加密的 CSLFE, 我有另一个包含 CSLFE 查询加密字段的集合。 仅供您参考,如果...

回答 1 投票 0

MongoDB/Mongoose 查询:检索从位置 A 到位置 B 的具有优先级约束的路由

我正在使用 Mongoose 开发 MongoDB 项目,并且在查询路由文档时遇到了挑战。每个路由文档的结构如下: const locationSchema = 新猫鼬....

回答 1 投票 0

MongoDB 将两个字段中的字符串连接到第三个字段中

如何连接两个字符串字段中的值并将其放入第三个字符串字段中? 我试过这个: db.collection.update( { "_id": { $exists: true } }, { $set: { column_2: { $add: ['$column_4', '$

回答 9 投票 0

$filter 位于数组中的 $reduce 内或 $map 内,无需展开

我需要一些帮助: 我想优化此查询以使其更快,它需要按 events.eventType:"log" 与 server:"strong" 的所有文档进行过滤,但没有单独的展开和过滤器

回答 2 投票 0

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