[英]MongoDB equivalent to Python's enumerate()
我正在寻找一个 MongoDB 聚合来替换一个数组
['a', 'b', 'c']
通过类似的东西
[ {"i":1,"element":"a"}, {"i":2,"element":"b"}, {"i":3,"element":"c"} ]
谢谢
$map
使用$range
迭代范围从 0 到lyrics
数组长度的循环$add
在当前索引中添加 1,因为范围从 0 开始$arrayElemAt
从lyrics
数组中获取特定元素db.collection.aggregate([
{
$set: {
lyrics: {
$map: {
input: { $range: [0, { $size: "$lyrics" }] },
in: {
i: { $add: ["$$this", 1] },
element: { $arrayElemAt: ["$lyrics", "$$this"] }
}
}
}
}
}
])
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.