Estoy tratando de actualizar varios documentos en una colección para un taller de comercio electrónico para la escuela y no sé cómo actualizar los documentos que necesitan cambiar su cantidad según cuánto haya comprado el cliente.
así es como se recibe el cuerpo json desde la interfaz:
{ "clientId": "123123", "cartItems": [ { "itemId":"6547", "quantity":"3" }, { "itemId": "6543", "quantity": "2" } ], "address": "123 main street", "creditCardNumber":"1234567890123456" }
Me gustaría iterar a través de la matriz cartItems
y actualizar la colección my Items
en mi base de datos
Cada documento en mi colección se parece a esto:
{ "_id":"6543", "name":"Barska GB12166 Fitness Watch with Heart Rate Monitor", "price":"$49.99", "body_location":"Wrist", "category":"Fitness", "imageSrc":"data:image/jpeg;base64...", "numInStock":"9", "companyId":"19962" }
order.cartItems.forEach(async (item) => { const result = await db .collection("items") .updateOne( { _id: parseInt(item.itemId) }, { $inc: { numInStock: -parseInt(item.quantity) } } ); });
luego para restaurar el numInStock
result.cartItems.forEach(async (item) => { const result = await db .collection("items") .updateOne( { _id: parseInt(item.itemId) }, { $inc: { numInStock: parseInt(item.quantity) } } ); });