MongoDB Stitch/Realm Function updateMany с ошибкой агрегирования
Я пытаюсь создать функцию для разблокировки лидов, заблокированных до указанного времени. Я протестировал функцию updateMany с конвейером агрегации в оболочке, но при попытке запустить ее из функции Realm я получаю сообщение об ошибке...
StitchError: update: аргумент модификатора должен быть объектом
exports = function(){
const mongodb = context.services.get("mongodb-atlas");
const leads = mongodb.db("Dev").collection("leads");
const query = { lockDate: {$lte: new Date('2020-07-01T00:00:02.012Z')}, stage: "Lead" };
const update = [{ $set: {"previousOwner": "$owner", "locked": false}}, {$unset: ["owner", "lockDate"]}]
const options = { upsert: false };
return leads.updateMany(query, update, options).then(res => {
const { matchedCount, modifiedCount } = res;
console.log(`Successfully matched ${matchedCount} and modified ${modifiedCount} items.`);
return res;
}).catch(err => console.log(err));
};
Принимает ли updateMany конвейеры агрегации в Realm? Если да, то сделал ли я ошибку?
1 ответ
Решение
Привет, Бернард! Обновления в конвейере агрегации - довольно новая функция в MongoDB (с 4.2), и мы находимся в процессе поддержки MQL до MongoDB 4.4 в функциях Realm. Мы ожидаем, что это будет выпущено в ближайшем будущем.