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. Мы ожидаем, что это будет выпущено в ближайшем будущем.

Другие вопросы по тегам