Selva query DSL uses a Javascript object or JSON formated object to represent both the database queries and data format for the documents returned. The property keys in the object can be fields or operators. The values for each property can be a boolean type to include the document field in the result or another nested object with more fields and operators making it possible to compose complex data structures. The fields can be existing properties of the documents, or new fields added dynamically as part of the result. Operators do not show as fields but have a special meaning to Selva and manipulate the result adding, transforming, or including subqueries to the document fields.