如何将两个数组连接到对象的字段中
How to join two arrays into fields of object
总共mongodb,我有以下文件:
{key:['a','b','c'], scores:[1,2,3]}
想改成
{a:1, b:2, c:3}
聚合阶段怎么做?我正在使用 MongoDB 指南针版本 1.21.2 (1.21.2)
您可以使用$zip
db.collection.aggregate([
{
$project: {
"output": {
"$zip": {
"inputs": [
"$key",
"$scores"
],
}
}
}
}
])
它以您需要的方式映射值,但格式不同。
您可以使用$unwind, $project, $arrayToObject
进一步转换为对象结构。
正如@turivishal 指出的那样,您可以使用 (this)[mongoplayground.net/p/PSnIzI8nF0A].
将上面的内容转换为所需的结构
总共mongodb,我有以下文件:
{key:['a','b','c'], scores:[1,2,3]}
想改成
{a:1, b:2, c:3}
聚合阶段怎么做?我正在使用 MongoDB 指南针版本 1.21.2 (1.21.2)
您可以使用$zip
db.collection.aggregate([
{
$project: {
"output": {
"$zip": {
"inputs": [
"$key",
"$scores"
],
}
}
}
}
])
它以您需要的方式映射值,但格式不同。
您可以使用$unwind, $project, $arrayToObject
进一步转换为对象结构。
正如@turivishal 指出的那样,您可以使用 (this)[mongoplayground.net/p/PSnIzI8nF0A].
将上面的内容转换为所需的结构