Используя правила безопасности 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
, если они находятся под определенным c родителем. Вышеупомянутое работает, потому что у меня есть поле непосредственно в каждом do c, но можно ли просто прочитать mySubCollectionDoc
и получить его родительский элемент, используя путь из Firestore Security без указанного поля?
Если я в состоянии, как я могу запросить, используя node.js (поскольку Firebase защищает от любых потенциальных утечек запросов)?
Заранее спасибо.