Я использую Mon goose ODM. Имея 2 схемы - я хотел бы убедиться, что при создании нового Поставщика его значение ID
добавляется в массив ссылочных объектов - suppliers
для SupplierType.
Supplier
:
name: {
type: String,
required: true,
minlength: 2,
maxlength: 255,
},
...
supplier_type: { type: ObjectId, ref: 'SupplierType' },
}
SupplierType
:
name: {
type: String,
required: true,
minlength: 2,
maxlength: 50,
},
suppliers: [{ type: ObjectId, ref: 'Supplier' }],
};
Когда пользователь делает POST для создания нового Supplier
- я выполняю следующее:
const supplier = new Supplier({
name: req.body.name,
...
supplier_type: req.body.supplier_type,
});
await supplier.save();
Это, конечно, , не обновляет / не добавляет новый Supplier
в массив suppliers
на Supplier Type
, поэтому я делаю следующее:
// Save the supplier
await supplier.save();
// Add the new Supplier's ID to the `suppliers` array on the `Supplier Type`
await SupplierType.update(
{
_id: supplier.supplier_type,
},
{ $push: { suppliers: supplier.id } }
);
Я хотел бы знать, является ли это наилучшей практикой, и если нет, я хотел бы знать, как лучше достичь той же цели?