Collections
Ditto syncs and queries documents through a combination of collection names and document identifiers (_id). A collection is a grouping of documents, like tables in a relational database system but far simpler and more flexible.
While it is good practice for documents within a collection to share a similar structure — for instance, all car-related documents stored in the cars collection contain fields 'make', 'model', and 'year' — structural uniformity is not mandatory.
There is no limit to the number of collections you can have in your data model, so create as many collections as you need.
For more information, see Bad Pattern: Large Documents.
Every document must be associated with a collection, even if only one document exists within that collection.
There are no explicit steps to managing collections; Ditto implicitly creates collections, assigns documents, and organizes references based on the documents being stored.
When querying, database interactions occur with collections rather than individual documents.
For instance, the query on the right searches the entire cars collection once executed.
To declare types, prefix the collection name with the COLLECTION keyword followed by a type definition. A type definition expresses the data types for the fields.
For example, here querying is against the cars collection with a field properties of data type MAP:
For complete DQL syntax, see Ditto Query Language > Types and Definitions.