Внутри функции стежка MongoDB у меня есть следующая функция.
exports = function(){ //orderId
let orderId = "2A01291D-0CAB-448E-B82D-17235526B55D"
//let paid = true
console.log("triggered the update session paid status function")
var sessionCol = context.services.get("mongodb-atlas").db("ClimbingWall").collection("sessions");
const query = {"customers.orderId":orderId};
var update = {"$set":{"customers.$[].paid": true}}
return sessionCol.updateMany(query, update)
.then(result => {
const { matchedCount, modifiedCount } = result;
console.log(`Successfully matched ${matchedCount} and modified ${modifiedCount} items.`)
return result
})
.catch(err => console.error(`Failed to update items: ${err}`))
};
Функция ищет в массиве документов внутри другого документа те, которые соответствуют orderId, и обновляет оплаченное поле до true. Однако на данный момент обновляются все документы в массиве, а не только те, которые соответствуют orderId. Итак, как я могу обновить только те, которые соответствуют запросу?