Don't know which Document DB to use? This project provides a simple abstraction for Document DB storage, retrieval and observation. You can easily switch providers in service configuration.
- MongoDB
services.AddDocumentOrientedMongoDb(config) - RavenDB
services.AddDocumentOrientedRavenDb(config) - LiteDB (coming soon)
services.AddDocumentOrientedLiteDb(config)
| Key Services | |
|---|---|
| IDocumentChanges | Provides a way to subscribe to notifications of changes to Document Entities |
| IDocumentQuery | Responsible for encapsulating querying the Document Database |
| IDocumentStorage | Encapsulates the simple storage and retrieval of individual document entities by Id. |
Notes on working with this Repo and running the local Document DB servers required for tests.
Installation requires an elevated Administrator shell
Install Chocolatey
# RavenDB
choco install ravendb
# MongoDB
choco install mongodb
# MongoDB Compass Database Explorer (optional)
choco install mongodb-compassRavenDB (Windows Only)
C:\RavenDB\run.ps1MongoDB config is available in the source root which configures MongoDB to use local .MongoDB folder.
mongod --config ./mongod.cfgcd 'C:\Program Files\MongoDB\Server\5.3\bin'
./mongomongosh
use admin
db.shutdownServer()
quit()
- Verify
dynamicmember support - Enable nullable. Retrieve should return Task<T?>
- Add dual license like https://sixlabors.com/posts/license-changes/
- http://litedb.org
- Cassandra / Scylla