我想继续关注文档,
{“_ 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”}} //这里的维度包含第三个数组元素
你能帮我解决这个问题吗?
答案 0 :(得分:1)
向管道添加以下步骤:
[
....
{ $addFields: { dimension: "$dimensions" } },
{ $unwind: "$dimension" }
]
不确定$arrayToObject
与问题的关系。答案完全基于输入和预期的输出片段。