# MongoDB ## πŸ“˜ Resources - [MongoDB Docs](https://docs.mongodb.com/) ## πŸ“• Articles - [Introduction to MongoDB](https://www.mongodb.com/docs/manual/introduction/) - [Getting Started MongoDB](https://www.mongodb.com/docs/manual/tutorial/getting-started/) - [BSON Types](https://www.mongodb.com/docs/manual/reference/bson-types/) - [How to integrate MongoDB with C#](https://www.code4it.dev/blog/mongodb-introduction-with-csharp) - [MongoDb Architecture](http://horicky.blogspot.com/2012/04/mongodb-architecture.html) - [ASP.NET Core - MongoDB Repository Pattern & Unit Of Work](https://www.brunobrito.net.br/aspnet-core-mongodb-unit-of-work/) - [MongoDB Transactions in .NET Applications](https://exceptionnotfound.net/transactions-in-mongodb-for-net/) - [Dealing with Eventual Consistency and Idempotency in MongoDB projections](https://event-driven.io/en/dealing_with_eventual_consistency_and_idempotency_in_mongodb_projections/) - [MongoDB Shell or Compass query with a GUID](https://blog.georgekosmidis.net/2021/11/29/mongodb-shell-or-compass-query-with-a-guid/) - [Introducing the MongoDB Analyzer for .NET](https://www.mongodb.com/developer/article/introducing-mongodb-analyzer-dotnet/) - [Getting Started MongoDB in .NET Core with Examples](https://www.thecodebuzz.com/mongodb-c-driver-net-core-examples-getting-started/) - [MongoDB – Add/Update field to document using BulkWriteAsync](https://www.thecodebuzz.com/mongodb-add-update-field-to-document-bulkwriteasync-asynchronous/) - [MongoDB – Add/Update new field to document using UpdateOne – II](https://www.thecodebuzz.com/mongodb-add-update-field-to-document-in-mongodb-collection/) - [MongoDB – Add new field to document using UpdateMany -I](https://www.thecodebuzz.com/mongodb-add-new-field-every-document-in-mongodb-collection/) - [NoSQL – MongoDB Repository Implementation in .NET Core with Unit Testing example](https://www.thecodebuzz.com/mongodb-repository-implementation-unit-testing-net-core-example/) - [Unit Testing and Mock MongoDB DbContext in ASP.NET Core](https://www.thecodebuzz.com/unit-testing-mocking-dbcontext-mongo-db-asp-net-core/) - [Unit Testing and Mocking MongoDB Extension Method in ASP.NET Core](https://www.thecodebuzz.com/mongodb-driver-mocking-unit-testing-iasynccursor-async-method-part1/) - [MongoDB Naming Conventions and Standards](https://www.thecodebuzz.com/mongo-db-naming-conventions-standards-guidelines/) - [MongoDB Query for records where the field is null or not set](https://www.thecodebuzz.com/mongodb-query-field-is-null-or-not-set-mongo-shell-compass/) - [MongoDB create a collection inside a Transaction – Guidelines](https://www.thecodebuzz.com/mongodb-create-a-collection-inside-a-transaction-create-index/) - [MongoDB Distributed Transactions Guidelines](https://www.thecodebuzz.com/mongodb-distributed-transactions-guidelines/) - [Create MongoDB indexes in C# driver](https://www.thecodebuzz.com/mongodb-unique-index-compound-index-csharp-driver/) - [Create MongoDB indexes in C#.NET – II](https://www.thecodebuzz.com/create-mongodb-indexes-csharp-net/) - [MongoDB Indexing Best Practices](https://www.thecodebuzz.com/mongodb-indexes-performance-guidelines-and-best-practices/) - [MongoDB Create Indexing using Mongo Compass](https://www.thecodebuzz.com/mongodb-create-indexes-mongo-compass-ui/) - [MongoDB Distributed Transaction with C# .NET – Guidelines](https://www.thecodebuzz.com/mongodb-distributed-transaction-acid-csharp-driver-aspnetcore/) - [MongoDB using _id Field – Guidelines](https://www.thecodebuzz.com/mongodb-id-field-security-best-practices-guidelines/) - [MongoDB Driver Writing](https://mongodb.github.io/mongo-csharp-driver/2.7/reference/driver/crud/writing/) - [MongoDB Driver Reading](https://mongodb.github.io/mongo-csharp-driver/2.7/reference/driver/crud/reading/) - [MongoDB Driver Linq](https://mongodb.github.io/mongo-csharp-driver/2.7/reference/driver/crud/linq/) - [MongoDB Driver Session and Transaction](https://mongodb.github.io/mongo-csharp-driver/2.7/reference/driver/crud/sessions_and_transactions/) - [MongoDB Bulk operations with the C# driver](https://fgambarino.com/c-sharp-mongo-bulk-write/) - [Setting up MongoDB to Use Standard GUIDs in C#](https://kevsoft.net/2022/02/18/setting-up-mongodb-to-use-standard-guids-in-csharp.html) - [Storing GUIDs as strings in MongoDB with C#](https://kevsoft.net/2020/06/25/storing-guids-as-strings-in-mongodb-with-csharp.html) - [DDD Values Types in C# with MongoDB](https://kevsoft.net/2022/01/03/ddd-values-types-in-csharp-with-mongodb.html) - [How do I detect whether a mongodb serializer is already registered?](https://stackoverflow.com/questions/21386347/how-do-i-detect-whether-a-mongodb-serializer-is-already-registered) - [What is new way of setting DateTimeSerializationOptions.Defaults in mongodb c# driver?](https://stackoverflow.com/questions/16185262/what-is-new-way-of-setting-datetimeserializationoptions-defaults-in-mongodb-c-sh) - [Serialization in MongoDB Driver C#](http://mongodb.github.io/mongo-csharp-driver/2.18/reference/bson/serialization/) - [GuidSerializer changes in MongoDB Driver C# ](http://mongodb.github.io/mongo-csharp-driver/2.18/reference/bson/guidserialization/serializerchanges/guidserializerchanges/) - [Implementing CRUD operations with ASP.NET Core Web API and Mongo DB](https://dotnetthoughts.net/implementing-crud-operations-with-webapi-and-mongodb/) ⭐ - [How to Migrate Relational Database to MongoDB?: Made Easy](https://hevodata.com/learn/relational-database-to-mongodb/) - [MongoDB vs. Redis: Which Database Should You Use?](https://www.integrate.io/blog/mongodb-vs-redis/) - [MongoDB vs. Redis Comparison](https://www.mongodb.com/compare/mongodb-vs-redis) - [Trying out MongoDB with EF Core using Testcontainers](https://devblogs.microsoft.com/dotnet/efcore-mongodb/) - [This Is How Quora Shards MySQL to Handle 13+ Terabytes](https://newsletter.systemdesign.one/p/mysql-sharding) - [Sharding in MongoDB](https://www.mongodb.com/docs/manual/sharding/) - [Replication in MongoDB](https://www.mongodb.com/docs/manual/replication/) - [Database Sharding: Concepts and Examples](https://www.mongodb.com/resources/products/capabilities/database-sharding-explained) - [Database Scaling](https://www.mongodb.com/resources/basics/scaling) - [MongoDB Replication](https://www.mongodb.com/resources/products/capabilities/replication) - [The only local MongoDB replica set with Docker Compose guide you’ll ever need!](https://medium.com/workleap/the-only-local-mongodb-replica-set-with-docker-compose-guide-youll-ever-need-2f0b74dd8384) - [Deploy a MongoDB Cluster with Docker](https://dev.to/mattdark/deploy-a-mongodb-cluster-with-docker-1fal) ## πŸ“Ί Videos - [MongoDB In 30 Minutes](https://www.youtube.com/watch?v=pWbMrx5rVBE) - [More Flexibility?! Sharding Gets Even Easier with MongoDB 4.4](https://www.youtube.com/watch?v=wGgMnJQunEc) - [Exploring the replication and #sharding in #MongoDB - #Database Tutorial](https://www.youtube.com/watch?v=oH-gQ4JdXQc) - [Sharding a MongoDB Collection](https://www.youtube.com/watch?v=Rwg26U0Zs1o) - [Learn MongoDB Playlist - Just me and Opensource](https://www.youtube.com/playlist?list=PL34sAs7_26wPvZJqUJhjyNtm7UedWR8Ps) - [MongoDB with C# Beginner's Tutorial Playlist - Coding Droplets](https://www.youtube.com/playlist?list=PLzewa6pjbr3JgaEaUDXWXm_bgjtQPjzFE) - [Data Modeling with MongoDB](https://www.youtube.com/watch?v=3GHZd0zv170) - [A Complete Methodology of Data Modeling for MongoDB](https://www.youtube.com/watch?v=DUCvYbcgGsQ) - [What's New in MongoDB 6.0](https://www.youtube.com/watch?v=ShDocHg32kU) - [Moving from RDBMS to MongoDB - Unlearn your biggest learnings!](https://www.youtube.com/watch?v=XTAZ3m_hqWs) - [What's new in MongoDB](https://www.mongodb.com/presentations/what-s-new-in-mongo-db-english) - [Replay Episode 3: Live migration and benefits of moving from a relational database to MongoDB](https://www.mongodb.com/presentations/replay-episode-3-live-migration-and-benefits-of-migration) - [Replay Episode 2: How to migrate from a relational database to MongoDB?](https://www.mongodb.com/presentations/replay-episode-2-how-to-migrate-from-a-relational-database-to-mongodb) - [Replay Episode 1: Why migrate from a relational database to MongoDB?](https://www.mongodb.com/presentations/replay-episode-1-why-migrate-from-a-relational-database-to-mongodb) - [The future of E-commerce: Modernisation with MongoDB](https://www.mongodb.com/presentations/the-future-of-e-commerce-modernisation-with-mongodb) - [Modernisation Webinar: Moving Workloads from Relational Databases to MongoDB's Document Model](https://www.mongodb.com/presentation/modernisation-webinar-english) - [Data Modeling with MongoDB](https://www.mongodb.com/presentation/data-modelling-with-mongodb) - [Query Optimization with MongoDB](https://www.mongodb.com/presentation/query-optimisation-with-mongodb) - [Let’S Explain Aggregations](https://www.mongodb.com/presentations/lets-explain-aggregations-amer) - [How MongoDB uses MongoDB at Scale](https://www.mongodb.com/presentations/how-mongodb-uses-mongodb-at-scale) - [Best Practices for Migrating from RDBMS to MongoDB Webinar](https://www.mongodb.com/presentations/migrating-from-rdbms-to-mongodb-webinar-hk) - [Advanced Schema Design Patterns](https://www.youtube.com/watch?v=bxw1AkH2aM4) - [Making MongoDB Easy for Entity Framework Users with MongoFramework](https://www.youtube.com/watch?v=qsFyJSCz50Q) - [.NET Data Community Standup - Introducing the MongoDB provider for EF Core](https://www.youtube.com/watch?v=Zat-ferrjro) - [Deploy a MongoDB Cluster with Docker](https://dev.to/mattdark/deploy-a-mongodb-cluster-with-docker-1fal) - [Deploy a MongoDB Cluster With Docker Compose](https://dev.to/mattdark/deploy-a-mongodb-cluster-with-docker-compose-4ieo) ## Courses - [MongoDB Basics](https://university.mongodb.com/courses/M001/about) - [MongoDB for SQL Pros](https://university.mongodb.com/courses/M100/about) - [The MongoDB Aggregation Framework](https://university.mongodb.com/courses/M121/about) - [MongoDB Performance](https://university.mongodb.com/courses/M201/about) - [MongoDB for .NET Developers](https://university.mongodb.com/courses/M220N/about) - [Data Modeling](https://university.mongodb.com/courses/M320/about) ## πŸš€ Samples - [dj-nitehawk/MongoWebApiStarter](https://github.com/dj-nitehawk/MongoWebApiStarter) - A full-featured starter template for `dotnet new` to quickly scaffold an Asp.Net 6 Web-Api project with MongoDB as the data store. - [anuraj/BookStoreApi](https://github.com/anuraj/BookStoreApi) - [brunobritodev/MongoDB-RepositoryUoWPatterns](https://github.com/brunobritodev/MongoDB-RepositoryUoWPatterns) - [minhhungit/mongodb-cluster-docker-compose](https://github.com/minhhungit/mongodb-cluster-docker-compose) - docker-compose for mongodb cluster sharded with replication ## Library - [TurnerSoftware/MongoFramework](https://github.com/TurnerSoftware/MongoFramework) - An "Entity Framework"-like interface for MongoDB - [Mongo2Go/Mongo2Go](https://github.com/Mongo2Go/Mongo2Go) - MongoDB for integration tests (.NET Core 3.0 and .NET 5.0) - [dj-nitehawk/MongoDB.Entities](https://github.com/dj-nitehawk/MongoDB.Entities) - A data access library for MongoDB with an elegant api, LINQ support and built-in entity relationship management - [dj-nitehawk/MongoDB-Entities-Repository-Pattern](https://github.com/dj-nitehawk/MongoDB-Entities-Repository-Pattern) - Example project showcasing how to use the repository pattern with the MongoDB.Entities data access library - [alexandre-spieser/mongodb-generic-repository](https://github.com/alexandre-spieser/mongodb-generic-repository) - An example of generic repository implementation using the MongoDB C# Sharp 2.0 driver (async) - [alexandre-spieser/AspNetCore.Identity.MongoDbCore](https://github.com/alexandre-spieser/AspNetCore.Identity.MongoDbCore) - A MongoDb UserStore and RoleStore adapter for Microsoft.AspNetCore.Identity 2.2. Allows you to use MongoDb instead of SQL server with Microsoft.AspNetCore.Identity 2.2. (not Identity 3.0) - [Parkbee/mongo-db](https://github.com/Parkbee/mongo-db) - This repository is intended to be a location for all ParkBee MongoDB utilities - [mongodb/mongo-efcore-provider](https://github.com/mongodb/mongo-efcore-provider) - MongoDB Entity Framework Core Provider