将字符串数组转换为对象ID数组

时间:2018-06-22 02:59:50

标签: javascript node.js mongodb mongoose

我有一个字符串数组

let stringObjectIdArray = ['fssdlfsd343','43434234242','342424242']

,我想通过使用猫鼬类型将字符串数组更改为对象ID数组,但是它不起作用。它仅适用于字符串,而不适用于数组类型。

let objectIdArray = mongoose.Types.ObjectId(stringObjectIdArray)
// above will give error

在这种情况下,有什么方法可以帮助我吗?非常感谢您对我的帮助!

2 个答案:

答案 0 :(得分:5)

使用Array.prototype.map()在数组的每个元素上调用方法并将结果收集到新数组中:

let objectIdArray = stringObjectIdArray.map(s => mongoose.Types.ObjectId(s));

答案 1 :(得分:2)

您也可以像这样简化已接受的答案:

let objectIdArray = stringObjectIdArray.map(mongoose.Types.ObjectId);