Чтобы преобразовать строку или массив строк в Mongoose ObjectId, вы можете использовать следующие методы:
Метод 1: использование конструктора mongoose.Types.ObjectId:
const mongoose = require('mongoose');
const stringId = '5fbd16f0a2c7a91d8c4f7890';
const objectId = mongoose.Types.ObjectId(stringId);
console.log(objectId); // Output: 5fbd16f0a2c7a91d8c4f7890
Метод 2: использование метода mongoose.Types.ObjectId.isValid:
const mongoose = require('mongoose');
const stringId = '5fbd16f0a2c7a91d8c4f7890';
if (mongoose.Types.ObjectId.isValid(stringId)) {
const objectId = new mongoose.Types.ObjectId(stringId);
console.log(objectId); // Output: 5fbd16f0a2c7a91d8c4f7890
}
Метод 3. Преобразование массива строковых идентификаторов в массив ObjectId:
const mongoose = require('mongoose');
const stringIds = ['5fbd16f0a2c7a91d8c4f7890', '5fbd16f0a2c7a91d8c4f7891', '5fbd16f0a2c7a91d8c4f7892'];
const objectIds = stringIds.map((stringId) => mongoose.Types.ObjectId(stringId));
console.log(objectIds); // Output: [ObjectId('5fbd16f0a2c7a91d8c4f7890'), ObjectId('5fbd16f0a2c7a91d8c4f7891'), ObjectId('5fbd16f0a2c7a91d8c4f7892')]