【发布时间】:2021-02-11 20:47:07
【问题描述】:
如果客户端代码应该对 Firestore 进行 批量写入,如下所示:
DOC: Transactions and Batched writes
const db = firebase.firestore();
const batch = db.batch();
// UPDATE CITY POPULATION IN CITIES COLLECTION
const docRef = db.collection('CITIES').doc('NYC');
batch.update(nycRef, {population: 10000000});
// UPDATE CITY POPULATION IN ALL_CITIES_POPULATIONS COLLECTION
const docRef = db.collection('ALL_CITIES_POPULATION').doc('ALL_CITIES_POPULATION');
batch.update(docRef, {
NYC: 1000000
});
在第一次更新时,我将更新 CITIES 集合上的 NYC 文档上的属性。
在第二次更新中,我正在更新 ALL_CITIES_POPULATION 文档中名为 NYC 的属性,该属性位于 ALL_CITIES_POPULATION 集合中。即:这是一个保存每个城市人口的单一文档。
这段代码应该可以正常工作。
但是是否有一个安全规则来确保这些写入总是一起被触发?如果某些恶意代码仅在第一次或第二次更新时触发一次写入怎么办?
对于批量写入场景,处理安全性的正确方法是什么?
【问题讨论】:
标签: javascript firebase google-cloud-firestore firebase-security