MongoDB Stitch/Realm 函数 updateMany 聚合错误

MongoDB Stitch/Realm Function updateMany with aggregation error

我正在尝试创建一个函数来解锁在指定时间之前被锁定的线索。我在 shell 中使用聚合管道测试了 updateMany 函数,但是当尝试从 Realm 函数中 运行 它时,我得到一个错误...

StitchError: update: modifier argument must be an object

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 中的聚合管道?如果是,是不是我弄错了?

你好 Bernard – Updates within the aggregation pipeline 是 MongoDB(4.2)中的一项相当新的功能,我们正在支持 Realm Functions 中的 MQL 到 MongoDB 4.4。我们预计这将在不久的将来发布。