Shiny.DocumentDb — Hidden Gems
Thirteen releases leave a lot of useful surface buried under one-line bullets. Allan Ritchie walks through the DocumentDb capabilities he actually reaches for — the ones that change how you write the surrounding code, not just the changelog.
What you’ll learn
- Diffs before you save —
GetDiff, merge-styleUpsert, andSetProperty/RemovePropertyfor targeted JSON updates without a read-modify-write round trip - Temporal as an audit trail — one
MapTemporalline for history, point-in-time reads, per-actor change logs, patches between versions, and restore - Raw JSON terminals — return stored JSON (or stream a JSON array) from a typed LINQ query without deserialize-then-serialize overhead
- Soft delete as composition — how interceptors and named query filters build soft delete (and an append-only archive) without provider-specific code
- Quick hits —
ToQueryString(), cursor pagination, Soundex, change feeds, seeders, JSON Schema validation, computed properties, and maintenance APIs
Read the full post for the code samples and the under-sold admin tooling (terminal UI and Docker Desktop extension) Allan is finally highlighting.