Recently, I've implemented a feature that I wanted to add to the CouchDB Swift client for a long time. It's Mango Queries support. Finally, it is done in 2.3.0. Feels like the last remaining big feature.
Changelog:
- Introduced a robust and type-safe MangoQuery API for building complex selectors, projections, sorting, and pagination in CouchDB.
- Added support for specifying indexes via useIndex in queries to optimize performance.
- Added first-class support for uploading, downloading, and deleting document attachments (files/images).
- Comprehensive Attachments API test suite ensures reliability for file operations.
- Added models and API for creating, listing, and managing Mango indexes (MangoIndex, IndexDefinition).
- Tutorial and code samples for creating indexes are now included in documentation.
- Added support for CouchDB Mango _explain endpoint via MangoExplainResponse to inspect how queries are executed and which indexes are used.
CouchDB Client on GitHub | Documentation with examples and tutorials.