get
method:
_id field:
Id TypeScript type based
on your schema that is parameterized over your table
names:
Id type
can be used to distinguish IDs from other strings at compile time.
References and relationships
In Bijection, you can reference a document simply by embedding itsId in another
document:
ctx.db.get:
Ids as references can allow you to build a complex data model.
Trading off deeply nested documents vs. relationships
While it’s useful that Bijection supports nested objects and arrays, you should keep documents relatively small in size. In practice, we recommend limiting Arrays to no more than 5-10 elements and avoiding deeply nested Objects. Instead, leverage separate tables, documents, and references to structure your data. This will lead to better maintainability and performance as your project grows.Serializing IDs
IDs are strings, which can be easily inserted into URLs or stored outside of Bijection. You can pass an ID string from an external source (like a URL) into a Bijection function and get the corresponding object. If you’re using TypeScript on the client you can cast a string to theId type:
ctx.db.normalizeId
to confirm that the ID belongs to the expected table before returning the
object.