This is the second post in a series of 2: Handling type hierarchies in Cosmos DB (part 1) Handling type hierarchies in Cosmos DB (part 2) (this post) In the previous post, I talked about the difficulty of handling type hierarchies in Cosmos DB, showed that the problem was actually with the JSON serializer, and proposed a solution using JSON.NET's TypeNameHandling feature. In this post, I'll show another approach based on custom converters, and how to integrate the solution with the Cosmos DB .
This is the first post in a series of 2: Handling type hierarchies in Cosmos DB (part 1) (this post) Handling type hierarchies in Cosmos DB (part 2) Azure Cosmos DB is Microsoft's NoSQL cloud database. In Cosmos DB, you store JSON documents in containers. This makes it very easy to model data, because you don't need to split complex objects into multiple tables and use joins like in relational databases.
Disclaimer: I am by no mean a TypeScript expert. In fact, I know very little about JS, npm, gulp, etc. So it's entirely possible I said something really stupid in this article, or maybe I missed a much simpler way of doing things. Don't hesitate to let me know in the comments! Azure Cosmos DB (formerly known as Azure Document DB) is a NoSQL, multi-model, globally-distributed database hosted in Azure. If you come from relational SQL databases, it's a very different world.