There’s certainly the danger of creating too many ad-hoc or sparse relationships, which can cause issues. That said, when used for supplementing foreign keys, Tie-in can be a useful tool in a production system as well.
Yes, that’s correct. Here’s how an entry in the join table looks like:
{
"id": 6,
"sourceComp": "user",
"sourceId": 2,
"targetComp": "post",
"targetId": 3,
"type": "author",
"createdAt": "2024-03-28T13:28:59.175Z",
"updatedAt": "2024-03-28T13:28:59.175Z"
}
AFAIK, no NoSQL database fully supports SQL, and only some offer support for transactions and joins. The idea here is to augment a relational database by adding capabilities for dynamic relationships.
That idea crossed my mind too, but you can’t really use the full capabilities of SQL in graph databases, and that’s a deal breaker for me.