如何将ObjectId数组转换为字符串数组?求单行实现方法
ObjectId数组转字符串数组单行实现
实现代码
直接对原数组调用map方法遍历,将每个ObjectId实例转换为对应字符串即可,两种写法均能实现需求:
// 写法1:通用toString,适配所有版本的ObjectId实现 const strArr = objectIdArr.map(id => id.toString()); // 写法2:调用官方专用转换方法,无隐式转换歧义 const strArr = objectIdArr.map(id => id.toHexString());
效果验证
针对给出的样例输入数组,执行上述代码后得到的输出完全匹配预期:
[ '62bab157e769a7dda09ec63f', '62bab15ce769a7dda09ec64a', '62bab164e769a7dda09ec657' ]
注意事项
- 无需使用
JSON.stringify等冗余绕弯的实现方式,直接调用ObjectId实例自带的转换方法性能最优、逻辑最清晰 - 两种写法返回结果完全一致,其中
toHexString()是MongoDB驱动为ObjectId实例定义的专属方法,语义上更明确
内容的提问来源于stack exchange,提问作者Samia Sammi
相关产品推荐
相关产品推荐

