如何在MongoDB中为数组元素添加对应序号索引
数组元素添加序号索引实现方案
核心实现思路
- 取出原始数组第一个对象的
data字段对应的二维数组 - 线性遍历该二维数组,遍历过程中记录从1开始的计数序号
- 每遍历一项,将子数组的第一个元素作为
value、当前序号作为Index组装为新对象,存入结果集的data数组即可
该方案时间复杂度为O(n),万级数据处理无性能压力。
常用语言实现示例
JavaScript 实现
// 原始数据 const originalData = [ { "data": [ [1000], [20], [300], [40] ] } ]; // 处理逻辑 const result = { data: originalData[0].data.map((item, index) => ({ value: item[0], Index: index + 1 })) }; console.log(result);
Python 实现
# 原始数据 original_data = [ { "data": [ [1000], [20], [300], [40] ] } ] # 处理逻辑 result = { "data": [ {"value": item[0], "Index": idx + 1} for idx, item in enumerate(original_data[0]["data"]) ] } print(result)
注意事项
- 如果原始数据的子数组存在空值、多值情况,可在取值前添加校验逻辑,避免运行报错
- 如果需要索引从0开始计数,直接将代码中的
index + 1/idx + 1修改为index/idx即可
内容的提问来源于stack exchange,提问作者bc110402922
相关产品推荐
相关产品推荐

