firebase - FieldValue.increment 的 Firestore 安全规则

标签 firebase google-cloud-firestore firebase-security

我在 Firestore 有一个柜台,可以计算点赞数。我像 this 一样增加它:

const db = firebase.firestore();
const increment = firebase.firestore.FieldValue.increment(1);

// Document reference
const doc = db.collection('coll').doc('doc');

// Update read count
doc.update({ likes: increment });

因此,如果有人编辑源并替换 incrementdecrement ,它将以这种方式工作。我想阻止这种情况。

我该如何写firestore-security规则,以便该规则只允许递增而不是递减?

最佳答案

如果你想强制递增 1:

allow update: if request.resource.data.likes == resource.data.likes + 1;

关于firebase - FieldValue.increment 的 Firestore 安全规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62215187/

相关文章:

javascript - Firebase Cloud Functions 异步函数

firebase - 如何保护电子邮件地址但使其可通过 Firestore 进行搜索

javascript - fetch 可以获取多个数据吗?

javascript - 从 firebase 检索值时收到未定义的消息

firebase - 如何使用 Firebase 云功能检索 {pushId}?

firebase - Firestore 获取文档的值不在数组中?

javascript - 计算 Firestore 更新中的时间戳差异

firebase - 我如何添加加载圆形图标,因为从Firestore提取数据需要时间?

javascript - firebase 多路径更新和每个路径的规则

javascript - 尝试使用 id 访问数据时,firebase 规则中的通配符不起作用