request.writeFields.size()不计算用" serverTimestamp()"更新的字段。

时间:2018-03-15 22:20:58

标签: firebase google-cloud-firestore firebase-security

由于Firestore还没有模拟器,我无法100%确定我所说的内容。

但是,根据我的测试,在规则文档中使用class MyBaseClass { private httpClient2: HttpClient; constructor(httpClient2: HttpClient) { this.httpClient2 = httpClient2; } } 不会计算使用request.writeFields.size()更新的字段。

例如,如果执行以下代码:

firebase.firestore.FieldValue.serverTimestamp()

请求db.collection("myCollection").doc(id).update({ someString: 'abcd', someTimestamp: new Date("October 13, 2014 11:13:00") anotherTimestamp: firebase.firestore.FieldValue.serverTimestamp(), }) 将失败的写规则将返回权限错误。如果它已更改为request.writeFields.size() == 3,那么它可以正常工作。

类似地:

request.writeFields.size() == 2将返回'someString' in request.writeFields

true将返回'someTimestamp' in request.writeFields

true将返回'anotherTimestamp' in request.writeFields

这可能是Firestore的错误,还是我错过了什么?

0 个答案:

没有答案