【发布时间】:2020-08-05 00:28:21
【问题描述】:
使用 Firestore 安全规则,我想知道是否可以使用 path 直接查看父文档?例如,对于子集合中的任何路径,我都想做以下事情:
match /myRootCollection/{myRootDoc=**} {
allow write: if request.path.split('/')[0] === "myRootDoc1":
}
我知道我也可以只在子集合的文档中引用myRootDoc1:
{
myRootCollection: {
{myRootDoc1}: {
mySubCollection: {
{mySubCollectionDoc1}: {
name: "someUser0",
parent: "myRootDoc1",
},
{mySubCollectionDoc2}: {
name: "someUser1",
parent: "myRootDoc1",
},
{mySubCollectionDoc3}: {
name: "someUser2",
parent: "myRootDoc1",
},
}
{myRootDoc2}: {
mySubCollection: {
{mySubCollectionDoc1}: {
name: "someUser3",
parent: "myRootDoc2",
},
{mySubCollectionDoc2}: {
name: "someUser4",
parent: "myRootDoc2",
},
{mySubCollectionDoc3}: {
name: "someUser5",
parent: "myRootDoc2",
},
}
}
}
}
在这里,如果mySubCollectionDocs 在特定父级之下,我将能够阅读它们。上面的方法之所以有效,是因为我在每个文档中都直接有该字段,但是是否可以只读取 mySubCollectionDoc 并使用 Firestore Security 中的路径获取其父项,而无需指定字段?
如果可以,我将如何使用 node.js 进行查询(因为 Firebase 可以防止任何潜在的泄漏查询)?
提前致谢。
【问题讨论】:
标签: firebase google-cloud-firestore firebase-security