mongoDB alternatives and similar packages
Based on the "Database" category.
Alternatively, view mongoDB alternatives based on common mentions on social networks and blogs.
-
erd
Translates a plain text description of a relational database schema to a graphical entity-relationship diagram. -
persistent-redis
Persistence interface for Haskell allowing multiple storage methods. -
postgresql-simple
Mid-level client library for accessing PostgreSQL from Haskell -
acid-state
Add ACID guarantees to any serializable Haskell data structure -
HDBC-session
This repository includes a joined query generator based on typefull relational algebra, and mapping tools between SQL values list and Haskell record type. -
esqueleto
Bare bones, type-safe EDSL for SQL queries on persistent backends. -
groundhog
This library maps datatypes to a relational model, in a way similar to what ORM libraries do in OOP. See the tutorial https://www.schoolofhaskell.com/user/lykahb/groundhog for introduction -
hw-kafka-client
Kafka client for Haskell, including auto-rebalancing consumers -
mysql-simple
A mid-level client library for the MySQL database, intended to be fast and easy to use. -
postgresql-simple-migration
PostgreSQL Schema Migrations for Haskell -
vcache
large, persistent, memcached values and structure sharing for Haskell -
direct-sqlite
Low-level binding to SQLite3. Includes UTF8 and BLOB support. -
vcache-trie
large, persistent, memcached values and structure sharing for Haskell -
dbmigrations
A library for the creation, management, and installation of schema updates for relational databases. -
postgresql-tx
[Moved to: https://github.com/Simspace/postgresql-tx] -
postgresql-typed
Haskell PostgreSQL library with compile-time type inference -
postgresql-orm
An Haskell ORM (Object Relational Mapping) and migrations DSL for PostgreSQL. -
ampersand
Build database applications faster than anyone else, and keep your data pollution free as a bonus. -
persistent-database-url
Parse DATABASE_URL into configuration types for Persistent
Static code analysis for 29 languages.
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of mongoDB or a related project?
README
This is the Haskell MongoDB driver (client). MongoDB is a free, scalable, fast, document database management system. This driver lets you connect to a MongoDB server, and update and query its data. It also lets you do adminstrative tasks, like create an index or look at performance statistics.
Documentation
Dev Environment
It's important for this library to be tested with various versions of mongodb server and with different ghc versions. In order to achieve this we use docker containers and docker-compose. This repository contains two files: docker-compose.yml and reattach.sh.
Docker compose file describes two containers.
One container is for running mongodb server. If you want a different version of mongodb server you need to change the tag of mongo image in the docker-compose.yml. In order to start your mongodb server you need to run:
docker-compose up -d mongodb
In order to stop your containers without loosing the data inside of it:
docker-compose stop mongodb
Restart:
docker-compose start mongodb
If you want to remove the mongodb container and start from scratch then:
docker-compose stop mongodb
docker-compose rm mongodb
docker-compose up -d mongodb
The other container is for compiling your code. By specifying the tag of the image you can change the version of ghc you will be using. If you never started this container then you need:
docker-compose run mongodb-haskell
It will start the container and mount your working directory to
/opt/mongodb-haskell
If you exit the bash cli then the conainer will stop.
In order to reattach to an old stopped container you need to run script
reattach.sh
. If you run docker-compose run
again it will create another
container and all work made by cabal will be lost. reattach.sh
is a
workaround for docker-compose's inability to pick up containers that exited.
When you are done with testing you need to run:
docker-compose stop mongodb
Next time you will need to do:
docker-compose start mongodb
reattach.sh
It will start your stopped container with mongodb server and pick up the stopped container with haskell.