【问题标题】:Mongoose aggregate: keep original array and unwind with different field nameMongoose 聚合:保留原始数组并使用不同的字段名称展开
【发布时间】:2018-03-08 19:26:57
【问题描述】:

我想保留以下文件,

{ "_id" : 1, "item" : "ABC1", 尺寸: [ { "k": "l", "v": 25} , { “k”:“w”,“v”:10 },{“k”:“uom”,“v”:“cm”}] }

但需要为所有三个数组元素再添加一个字段,因此上述文档将返回为:

{ "_id" : 1, "item" : "ABC1", 尺寸: [ { "k": "l", "v": 25} , {“k”:“w”,“v”:10},{“k”:“uom”,“v”:“cm”}],尺寸:{“k”: "l", "v": 25} } // 这里维度包含第一个数组元素

{ "_id" : 1, "item" : "ABC1", 尺寸: [ { "k": "l", "v": 25} , { “k”:“w”,“v”:10},{“k”:“uom”,“v”:“cm”}],尺寸:{“k”: "w", "v": 10 } }// 这里维度包含第二个数组元素

{ "_id" : 1, "item" : "ABC1", 尺寸: [ { "k": "l", "v": 25} , { “k”:“w”,“v”:10},{“k”:“uom”,“v”:“cm”}],尺寸:{“k”: "uom", "v": "cm" } }// 这里维度包含第三个数组元素

你能帮我解决这个问题吗?

【问题讨论】:

    标签: mongodb mongoose


    【解决方案1】:

    在管道中添加以下步骤:

    [
       ....
       { $addFields: { dimension: "$dimensions" } },
       { $unwind: "$dimension" }
    ]
    

    不确定$arrayToObject 与该问题有何关联。答案完全基于输入和预期输出 sn-ps。

    【讨论】:

    • 修改了问题。感谢您的帮助!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-26
    • 2023-03-14
    • 2015-05-18
    • 1970-01-01
    • 1970-01-01
    • 2014-06-20
    • 1970-01-01
    相关资源
    最近更新 更多