3 ms·
Like many things, it might be simple and intuitive _once you already know how it works_. Looking at it for the first time, my reaction was similar that of the
by Merad 4y ago
Like many things, it might be simple and intuitive _once you already know how it works_. Looking at it for the first time, my reaction was similar that of the GP. My $0.02: if the question is "using meta storage, does user marcus sponsor user marc?" I would propose a url like meta/users/{username}/sponsors/{username}, or meta/users/marc/sponsors/marcus. To me, at least, that url states a few things:
* meta/users/marc <- the user we're querying, and where we can get his info
* meta/users/marc/sponsors <- every user who is a sponsor of marc
* meta/users/marc/sponsors/marcus <- is marcus one of marc's sponsors?
Of course it wouldn't be a forum oriented towards developers if 10 users didn't hold a dozen conflicting opinions.
- bullen 4y agoThe user/user is a "node type" to "node type" thing: it can be user/item f.ex. The marc/marcus is related to those so for user/item it could be marc/sword f.ex. The reason it's that way is that how it needs to be stored on disk. The detail data (what the relation has as meta data is subordined to the relationship of nodes user/user), you can put anything that marc/marcus have in common in that JSON file. (I just added that we used to be colleagues) Even if it feels awkward when you are used to wasteful structures once you know this is the least complex solution you will be thankful, specially in the long run since you wont have to learn anything else ever again.
- yencabulator 4y agoIn this case, "sponsors" is an extra tricky word, because in English you can say "X sponsors Y" or "one of Y's sponsors is X", and you can't tell from just the path which one was meant.
- Merad 4y agoGood callout! Using verbiage like "sponsoredby" or "sponsorof" in the url could help clarify the relationship and make it read more literally, i.e. to answer "does marcus sponsor marc" you could use meta/users/marc/sponsoredby/marcus or meta/users/marcus/sponsorof/marc.
- bullen 4y agoYeah, I used "fund": 1 in the user/user/marc/marcus... then you just have to decide the direction and everywhere except arabian it's left to right... so marc funds marcus. And user/user/marcus/marc has it if marcus funds marc.