Я пытаюсь выполнить транзакцию в mongoodb, используя модули Fawn npm.Я написал код ниже, и он работает нормально.Но если элемент представляет собой массив, имеющий несколько элементов, как я могу выполнить одно и то же действие?В этом случае мне нужно сохранить заказ только один раз, но обновить запас несколько раз.
Я попытался выполнить цикл, но заказ был сохранен два раза, и я получаю сообщение об ошибке MongoError: E11000 duplicate key error collection: db.orders index
Это потому, что я сохраняю один и тот же заказ несколько раз.
try {
new Fawn.Task()
.save('orders', order)
.update(
'items',
{ _id: item[0]._id },
{ $inc: { stock: -+req.body.quantity[0] } }
)
.run();
} catch (ex) {
res.status(500).send('Something failed');
}
где item - список всех идентификаторов элементов, которые мне нужно обновить.
Я хочу обновить заказ один рази другой элемент несколько раз в зависимости от размера массива элементов.
Когда я делаю это, он работает абсолютно нормально.Но я хочу, чтобы он был динамическим, поскольку я не буду знать размер массива.