You could just use Postgres?
https://www.endpointdev.com/blog/2013/06/postgresql-as-nosql-with-data-validation/