Mongodb聚合: Combine multiple keys into an array

标签 mongodb mongodb-query aggregation-framework

我想使用 mongodb 聚合将文档中的三个键组合到一个数组中。 这是我想要完成的示例:

输入文档:

{  
    _id: "xyz", 
    p1: "A", 
    p2: "E", 
    p3: "C"
}

输出文档:

{ 
   _id: "xyz",
   p: ["A", "E", "C"] 
}

有人知道如何使用 mongodb 聚合来完成此任务吗?

干杯 J

最佳答案

使用聚合的 $project阶段,您可以执行如下操作:

db.collection.aggregate([
  {
    $project: { p: [ "$p1", "$p2", "$p3" ] }
  }
])

测试: mongoplayground

关于Mongodb聚合: Combine multiple keys into an array,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61734048/

相关文章:

node.js - 如何将对象值保存在变量中

java - 如何从mongo中的子文档中获取特定值

mongodb - $lookup 当外部字段是数组时

mongodb - 我如何使用 mgo 和 Golang 编写以下 Mongo 聚合查询

mongodb - Mongo 查询查找与特定数组键值匹配的字段

javascript - $ 或 Mongo 的一部分在 Meteor 应用程序中吗?

arrays - 从 mongodb 数组中查找最小值和最大值

mongodb-query - 如何将MongoDB集合变成 'Table'

mongodb - 仅返回查询条件为 True 的文档中的键

node.js - 使用express-session时req.session未定义