{ "$schema": "http://json-schema.org/draft-07/schema#", "$id": "https://www.triplit.dev/schemas/collection-query", "title": "Triplit Collection Query", "description": "A query object used to fetch entities from a Triplit collection", "type": "object", "required": ["collectionName"], "properties": { "collectionName": { "type": "string", "description": "The name of the collection to query", "example": "todos" }, "select": { "type": "array", "description": "Fields to include in the result. If omitted, all fields are returned.", "items": { "type": "string" }, "example": ["id", "text", "completed"] }, "where": { "type": "array", "description": "Filter conditions. Each item is a [field, operator, value] triple.", "items": { "type": "array", "minItems": 3, "maxItems": 3, "prefixItems": [ { "type": "string", "description": "Field name" }, { "type": "string", "description": "Comparison operator", "enum": ["=", "!=", "<", "<=", ">", ">=", "like", "nlike", "in", "nin", "has", "!has", "isDefined"] }, { "description": "Comparison value" } ] }, "example": [["completed", "=", false]] }, "order": { "type": "array", "description": "Sort order. Each item is a [field, direction] pair.", "items": { "type": "array", "minItems": 2, "maxItems": 2, "prefixItems": [ { "type": "string", "description": "Field name" }, { "type": "string", "enum": ["ASC", "DESC"], "description": "Sort direction" } ] }, "example": [["createdAt", "DESC"]] }, "limit": { "type": "integer", "description": "Maximum number of results to return", "minimum": 1, "example": 20 }, "after": { "type": "array", "description": "Pagination cursor. Contains the values of the last order-by fields.", "items": {} } }, "additionalProperties": false }