首页 > 解决方案 > 缝合功能 updateOne 错误“不允许更新”

问题描述

我有一个 Stitch 函数可以做几件事,但在这一行出现错误:

try {
  // voteAsObjectId is the Id of the photo to vote converted to BSON.ObjectId.
  await db
    .collection('photos')
    .updateOne({ "_id": voteAsObjectId }, { "$inc": { votes: 1 }});
} catch (err) {
  throw new Error("An error occurred while updating photo's votes:" + err);
}

错误如下:

StitchError: update not permitted

这似乎是与权限相关的错误,但我的应用程序中有一些其他功能,它们成功地运行了对该集合的每个.find .insert和查询,只有和操作给我带来了问题。.aggregate.updateOne.updateMany

我的收藏的权限如下所示:

在此处输入图像描述

这是我的架构:

在此处输入图像描述

这是一个示例文档:

在此处输入图像描述

标签: mongodbmongodb-stitch

解决方案


我建议检查以下内容:

  1. 检查架构选项卡,看看您的文档是否有任何不符合配置架构的内容。架构的默认配置可能与文档的实际架构不匹配。您可能需要修改此架构以使更新正常工作。

  2. 单击“默认”角色上的编辑按钮(铅笔),然后选中该角色的“应用时间”。您尝试更新的文档可能与任何角色都不匹配,并且该角色需要更新。

如果这不起作用,请单击侧边栏上的“日志”按钮检查应用程序日志: 日志选项卡

在那里您可以看到“不允许更新”错误,但有更多关于更新失败原因的详细信息。


推荐阅读