Я хочу сохранить массив ObjectId, который я получаю через интерфейс REST через mongoose, в mongodb. Я постоянно сталкиваюсь с проблемой ошибки приведения при сохранении идентификаторов объектов из интерфейса REST в БД. Серверный код написан на машинописном языке.
Схема:
var WaSchema = new mongoose.Schema({
ownerId: { type: 'String', required: true },
options: { type: 'String', required: false },
launch: [{ type : 'ObjectId', required: true }],
});
Из интерфейса REST я получаю для "lanch" массив строк: launch: Array<string>
Вот как я сейчас делаю сохранение:
WaModel.findOneAndUpdate(query, {
ownerId: userId,
options: wa.options,
launch: wa.launch
},
{ upsert: true },
(err, doc) => {
if (err) throw err
else return 'successfully saved/updated';
})
Как должен выглядеть ObjectId в интерфейсе REST для корректного приведения? Это просто жало, например «575e52790c0fc76a11e381d0», или ему нужен префикс, например ObjectId («575e52790c0fc76a11e381d0»)?
Как будет выглядеть массив в конце? Это немного зависит от ответа № 1
Я видел функцию заполнения, может ли это помочь здесь?