root: {
dir: {
subDir: {
subSubDir: {
...
},
...
},
subDir_2: {
...
}
},
dir_2: {
...
},
...
}
Nehmen wir an, ein Benutzer möchte den Zugriff auf subDir
und alle Inhalte beschränken. Jetzt versucht ein anderer Benutzer auf subSubDir
zuzugreifen. Ich nehme an, all dies sollte mit benutzerdefinierter Logik geschehen: Ich werde eine neue Eigenschaft in den eingeschränkten Knoten einfügen, etwa access: 'noOne'
.Geschachtelte Zugriffsrechte in MongoDB
Also, wie die Abfrage Logik für die anotherUser
wird aussehen? etwas wie "Überprüfen der Anwesenheit von access
Eigenschaft in jedem parentalen Knoten"? Das sieht nicht gut aus, besonders wenn es 10 oder mehr Verschachtelungsebenen gibt. Das Hinzufügen der access
-Eigenschaft zu jedem Kind sieht sogar noch schlimmer aus, da sich dort möglicherweise Hunderte von Tausenden von Knoten befinden.
Was ist der richtige Weg, dies mit MongoDB zu implementieren?