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-compass
RavenDB (Windows Only)
C:\RavenDB\run.ps1
MongoDB config is available in the source root which configures MongoDB to use local .MongoDB folder.
mongod --config ./mongod.cfg
cd 'C:\Program Files\MongoDB\Server\5.3\bin'
./mongo
mongosh
use admin
db.shutdownServer()
quit()
- Verify
dynamic
member support - Enable nullable. Retrieve should return Task<T?>
- Add dual license like https://sixlabors.com/posts/license-changes/
- http://litedb.org
- Cassandra / Scylla