Мангуст установил ссылку на свободную схему
У меня есть модель со свободной схемой (strict: false
). Я хотел бы знать, возможно ли при отправке массива pageIds в бэкэнд сохранить их как ObjectId с ref: Image
динамически, чтобы я мог заполнить их позже?
Это пример данных, которые я отправляю на мой маршрут:
{
"title": "My page",
"img": {
"pageIds": [
"5aa70207d63f86279091c950",
"5aa70207d63f86279091c952",
"5aa70207d63f86279091c954"
],
"repeat": false,
"type": "imageEl"
}
}
Затем, когда я получаю данные обратно, потому что у меня свободная схема, мне нужно перебрать каждое поле и заполнить их. Можно ли заполнить их напрямую с помощью findOne()? Например:
const page = await db.page.findOne({ _id: myId }).populate('img.pageIds')
Вместо этого:
const page = await db.page.findOne({ _id: myId })
const pageObj = page.toJSON()
for (const field in pageObj) {
if (
typeof pageObj[field] === 'object' &&
pageObj[field].type === 'imageEl'
) {
// here I have to populate the 'img.pageIds' from model 'Image'
}
}