Я получил 2 модели Продукты, Изображения Продукты: {image:[images:{type:mongoose.Types.ObjectId,ref:'Colors'}]} // this save _id
из Изображения модели
Изображения: {imageUrl:{type:String}} // store image
Я пробовал этот код, но он не работает с Транзакцией ...
let image_temp=[];
const sess = await mongoose.startSession();
sess.startTransaction();
const createdProduct = new Products({
name:req.body.name;
})
await req.body.images.map(async img => { // images is an array URL
const createdImage = new Images({
imageUrl: img
})
image_temp.push( await createdImage.save({session:sess} ));
})
data = await createdProduct.save({session:sess});
await image_temp.map(img => {
data.images.push(img)
})
await data.save({session:sess})
await sess.commitTransaction();
Если я удалю сессию, этот код будет работать. Но я думаю, что сессия будет лучше, она может отменить весь код.