输入是一次文档
{
"name": [
"abc",
"xyz"
],
"values": [
"123",
"100"
]
}
我想要将数组规范化为多个文档的解释abc
,以及xyz
都是动态出现的,这些都是用户定义的参数
预期输出
[
{
"data": {
"name": "abc",
"values": "123"
}
},
{
"data": {
"name": "xyz",
"values": "100"
}
}
];
发布于 2021-03-01 22:59:54
试试这个:
db.testCollection.aggregate([
{
$project: {
"data": {
$map: {
input: { $zip: { inputs: ["$name", "$values"] } },
as: "item",
in: {
name: { $arrayElemAt: ["$$item", 0] },
values: { $arrayElemAt: ["$$item", 1] }
}
}
}
}
},
{ $unwind: "$data" }
]);
https://stackoverflow.com/questions/66423493
复制相似问题