gpt4 book ai didi

firebase - Firestore 规则 - 验证数据是否存在于其他集合中

转载 作者:行者123 更新时间:2023-12-05 04:02:13 24 4
gpt4 key购买 nike

我目前正在处理我的 firestore 规则,我需要验证传入的数据。除了我已有的,我还需要验证集合来源和标签中是否存在传入的来源和标签字段。我已经找到了如何在使用引用时这样做,但我使用的是嵌入式数据,所以我不确定如何准确地做到这一点。

function incomingData() {
return request.resource.data
}
function validTicket() {
return incomingData().email is string &&
incomingData().description is string &&
incomingData().address is string &&
incomingData().location is string &&
incomingData().postCode.matches('^[0-9][0-9][0-9][0-9]-[0-9][0-9][0-9]') &&
incomingData().size() == 5 &&
incomingData().hasAll(['email','description', 'address', 'location', 'postCode']) &&
isSecretary()
}

在标签集合中,每个文档都有一个带有标签名称的值。这同样适用于起源。

enter image description here

最佳答案

很抱歉,我的回答是片面的,我需要您发布您当前的 firestore 规则,以及票务集合的名称...

无论如何,对于标签,您将无法搜索它们的值,也无法在规则内搜索它们,因此您应该将它们保存为键。这意味着,体育文件的关键应该是体育,而不是 8VCCvq7qnvjyT98r95pu。

接下来,您必须按以下方式使用函数exists:

function isTagExists(tag) {
return exists(/databases/$(database)/documents/tags/$(tag));
}

如果您更新了问题或者您需要我的解决方案的更多帮助,请告诉我。

您还可以在以下位置阅读更多内容: https://firebase.google.com/docs/firestore/security/rules-conditions

关于firebase - Firestore 规则 - 验证数据是否存在于其他集合中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54570148/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com