Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. MongoDB
  3. mongodb

mongodb

Apache-2.0Haskell

A Haskell driver for MongoDB that enables database connections, queries, updates, and administrative tasks.

Visit WebsiteGitHubGitHub
170 stars48 forks0 contributors

What is mongodb?

mongodb-haskell/mongodb is a Haskell driver for MongoDB, enabling Haskell applications to connect to and interact with MongoDB databases. It provides functionality for querying, updating, and administering MongoDB data, along with support for advanced features like MapReduce. The driver is designed to be a reliable and type-safe interface for leveraging MongoDB's document-oriented database in Haskell projects.

Target Audience

Haskell developers building applications that require MongoDB database integration, including those working on web services, data processing pipelines, or backend systems using NoSQL databases.

Value Proposition

Developers choose this driver because it is the official MongoDB driver for Haskell, offering a native, type-safe, and well-documented interface. It includes comprehensive testing with Docker for compatibility across MongoDB server and GHC versions, ensuring reliability and ease of development.

Overview

MongoDB driver for Haskell

Use Cases

Best For

  • Building Haskell web applications with MongoDB as the backend database
  • Developing data processing tools that require MapReduce operations on MongoDB
  • Creating administrative scripts for MongoDB index management and performance monitoring
  • Integrating MongoDB into Haskell-based microservices or APIs
  • Testing Haskell applications across multiple MongoDB server versions using Docker
  • Implementing type-safe database interactions in functional programming projects

Not Ideal For

  • Projects requiring SQL databases with complex relational queries and transactions
  • Teams unfamiliar with Haskell or functional programming paradigms
  • Applications needing built-in ORM or automatic schema generation without manual type definitions
  • Environments where Docker-based development is impractical or not preferred

Pros & Cons

Pros

Official and Type-Safe

As the official MongoDB driver for Haskell, it provides a reliable and type-safe interface, ensuring adherence to MongoDB's protocol and best practices as stated in the philosophy.

Cross-Version Testing

Includes a Docker-based development environment for testing across multiple MongoDB server and GHC versions, detailed in the README's Dev Environment section.

MapReduce Support

Offers MapReduce functionality for data processing, with a dedicated example provided in the documentation for practical implementation.

Comprehensive Documentation

Provides a tutorial, quick example, and API documentation on Hackage, making it easier to learn and use the driver effectively.

Cons

Docker Dependency

Development and testing require Docker and docker-compose, with complex setup steps like using reattach.sh, which can be cumbersome for teams not using containerization.

Haskell Ecosystem Limitation

Tied to Haskell's niche ecosystem, resulting in a smaller community and potentially slower adoption of new MongoDB features compared to drivers in more popular languages.

Limited Advanced Features

Focuses on core CRUD and MapReduce; the README does not explicitly highlight support for newer MongoDB features like aggregation pipelines or change streams, which may require extra work.

Frequently Asked Questions

Quick Stats

Stars170
Forks48
Contributors0
Open Issues28
Last commit2 years ago
CreatedSince 2014

Tags

#database-driver#haskell#mapreduce#functional-programming#nosql#mongodb#docker#database-connectivity

Built With

H
Haskell
D
Docker Compose
D
Docker

Links & Resources

Website

Included in

MongoDB2.6k
Auto-fetched 16 hours ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub