#mongodb #mongoose #mongodb-query #mongoose-schema
#mongodb #мангуст #mongodb-запрос #мангуст-схема
Вопрос:
Вот мои модели:
Ingredient { _id: 456, name: 'Flour', } MenuItem { _id: 123, name: 'Cinnamon Rolls', ingredients: [ Ingredient ], }, ...
В настоящее время я использую простую массовую вставку в массив пунктов меню, надеясь, что я смогу вставлять на уровне документа и на уровне вложенных документов, но я замечаю, что все мои вложенные документы становятся сплошными. Я знаю это, потому что значение » _id «каждого поддокумента» ингредиент » изменяется. Как мне указать Мангусту, что я хочу, чтобы массив вложенных документов «ингредиенты» также был обновлен?
Вот мой текущий код:
const menuItems = /* [array of menu items] */; // Bulk upsert const bulkWriteMenuItemsArray = menuItems.map(menuItem =gt; ({ updateOne: { filter: { _id: menuItem.id }, update: menuItem, upsert: true, }, })); const { error, upsertedCount, modifiedCount } = await MenuItemModel.bulkWrite(bulkWriteMenuItemsArray);