我想在一个文档中展开两个数组。现在,我想像下面提到的那样,使用定义其类型的额外字段来分别投影它们。假设如果它是清洗的,则类型应定义为清洗,如果安装了,则类型应定义为已安装
该文档的格式如下:
{
"install":["Date1"]
"wash": ["Date1", "Date2", "Date3"]
}我想要的输出如下:
{
"install": "Date1"
"type": "install"
},
{
"wash": "Date1",
"type": "wash"
},
{
"wash": "Date2",
"type": "wash"
},
{
"wash": "Date3",
"type":"wash"
}发布于 2020-02-03 23:29:28
此聚合返回所需的结果:
db.test.aggregate( [
{
$facet: {
install: [
{ $unwind: "$install" },
{ $project: { type: "install", install: 1, _id: 0 } }
],
wash: [
{ $unwind: "$wash" },
{ $project: { type: "wash", wash: 1, _id: 0 } }
]
}
},
{
$project: { result: { $concatArrays: [ "$install", "$wash" ] } }
}
] )https://stackoverflow.com/questions/60034108
复制相似问题