30 open-source projects similar to automattic/mongoose, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
MongoEngine is a Python object-document mapper that translates database records into objects to provide an object-oriented interface for data persistence. It serves as a document manager and schema validator for MongoDB, mapping classes to documents to enforce data types and validation rules. The project provides a lazy-loaded queryset system for filtering, sorting, and aggregating collections using Pythonic syntax. It manages complex data structures through features such as document inheritance, recursive embedded document handling, and reference-based object linking. The library covers bro
Objection.js is an object-relational mapper for Node.js that maps SQL database tables to classes and rows to model instances. It functions as a high-level abstraction layer built on top of the Knex.js query builder to provide structured model definitions and relational data mapping. The project distinguishes itself through its ability to manage complex object graphs, allowing for the persistence and eager-loading of deeply nested related data in single operations. It incorporates a data integrity layer that uses JSON schema validation to verify model instances before they are persisted to the
TypeORM is an object-relational mapper for TypeScript and JavaScript that bridges the gap between object-oriented application code and relational database tables. It provides a comprehensive data persistence layer that allows developers to define database entities using class decorators or configuration objects, enabling seamless interaction with data through object-oriented patterns. The project distinguishes itself through a flexible architecture that supports both the data mapper and repository patterns, alongside a fluent query builder that translates high-level method calls into platform
This project is a production-ready template for building RESTful APIs using Node.js and the Express web framework. It provides a pre-configured structure for backend services, integrating a MongoDB Mongoose ODM framework for data modeling and a token-based security system for managing user identity. The boilerplate distinguishes itself through automated API documentation generated via Swagger by parsing code comments. It implements a layered controller architecture and a middleware-based request pipeline to separate routing logic from business logic and security processing. The system covers
Mongoid is an object-document mapper for Ruby that translates Ruby objects into MongoDB documents. It serves as a document database mapper and client library, providing a structured way to manage data persistence and retrieval within a NoSQL environment. The project distinguishes itself by offering advanced data retrieval tools, including vector search for semantic similarity and full-text search for keyword matching. It implements high-security data protection through client-side field-level encryption, encryption key rotation, and TLS connection security to protect sensitive information. B
ioredis is a performance-focused Redis client for Node.js designed to execute commands and manage data connections. It provides a specialized interface for interacting with standalone servers, sharded clusters, and high-availability setups. The library distinguishes itself with native support for Redis Cluster, featuring automatic slot discovery and network address mapping, and Redis Sentinel for master node discovery and automatic failover. It also includes a dedicated Lua scripting interface that utilizes server-side caching to ensure atomic operations. The project covers a broad set of ca
The MongoDB Node.js Driver is a programmatic interface and NoSQL database client used to manage document storage and execute operations within a MongoDB database. It serves as an asynchronous database interface and connection manager that enables Node.js applications to integrate with MongoDB servers. The project implements client-side field encryption to secure sensitive data and queries locally before transmission. It also provides a BSON serialization library to convert JavaScript objects into a binary format for efficient storage and network transmission. The driver covers a broad range
Peewee is a SQL object-relational mapper and query builder that provides an object-oriented interface for mapping application classes to relational database tables. It functions as a relational database toolkit for managing schemas, executing migrations, and handling complex table relationships. The project distinguishes itself by providing an asyncio database driver for non-blocking database operations, ensuring event loop responsiveness. It also supports semi-structured data storage, allowing the storage and querying of flexible JSON documents within traditional relational database systems.
Waterline is an adapter-based database library and object relational mapper for Node.js. It serves as a multi-database persistence layer that translates standard method calls into specific queries for both SQL and NoSQL databases. The library provides a unified interface for managing data across different stores, including MySQL, PostgreSQL, MongoDB, and Microsoft SQL Server. This architecture allows for the integration of multiple database backends within a single application and facilitates database vendor migration by changing adapters without altering business logic. The project covers r
SQLAlchemy is a comprehensive Python SQL toolkit and object-relational mapper that provides a full suite of tools for interacting with relational databases. It serves as a foundational layer for database connectivity, offering both a high-level object-oriented interface for data persistence and a programmatic SQL expression language for constructing complex, dialect-agnostic queries. The project distinguishes itself through its sophisticated unit of work persistence, which coordinates atomic transactions and tracks object state changes to minimize redundant database operations. It provides a
Sequelize is an object-relational mapping library that provides a unified interface for managing relational data through code. By implementing the Active Record pattern, it maps database tables to application objects, allowing developers to perform standard create, read, update, and delete operations using high-level method calls. The library abstracts complex database interactions by translating these calls into optimized, engine-specific SQL statements, ensuring consistent behavior across different database systems. The project distinguishes itself through a comprehensive suite of tools for
Prisma is a database toolkit that provides a unified access layer for interacting with relational and document databases. It centers on a declarative schema modeling approach, where developers define their data structures in a human-readable language. This schema serves as the single source of truth, from which the toolkit automatically generates type-safe database clients that provide compile-time validation and editor autocomplete for all data operations. The project distinguishes itself through a high-performance, Rust-based query engine that handles query planning and connection pooling o
Mikro-ORM is a TypeScript-based object-relational mapping system that provides a unified persistence layer for Node.js applications. It translates TypeScript entities into relational or document-based database schemas, supporting a variety of engines including PostgreSQL, MySQL, MariaDB, MS SQL Server, SQLite, and MongoDB. The project implements the data mapper pattern to decouple in-memory domain models from the database persistence layer. It utilizes a unit of work pattern to track entity changes in memory and commit them in a single coordinated database transaction. The library covers com
This project is a reference implementation of a full-stack web application and server-side rendered blog. It demonstrates the integration of a Node.js and Express server with a MongoDB database using the Mongoose object document mapper for schema-based data modeling. The application features a complete user authentication system that supports local credentials and external identity providers via OAuth. It includes session management and security measures such as cryptographic password hashing and protection against cross-site request forgery. The system covers a variety of content management
Practicalnode is a comprehensive educational resource and backend development framework for mastering server-side programming with Node.js. It provides a structured approach to building scalable network services, REST APIs, and real-time applications using asynchronous JavaScript. The project serves as a detailed implementation guide for several core backend patterns, including MongoDB data modeling and the construction of REST API development kits. It emphasizes a specific workflow for Docker containerization and offers a variety of strategies for managing user identity through stateless tok
This project is a starter template for building secure web services and REST application backends using Node.js, Express, MongoDB, and JSON Web Tokens. It provides a foundation for server-side development, incorporating document mapping for database integration, cryptographic token authentication, and role-based access control. The system features user account administration, automated database seeding and cleanup scripts, dynamic file-based routing, and environment-based configuration management. Security features include brute-force protection through failed login tracking and request activ
This project is an object persistence library and data mapper abstraction layer. It provides a set of shared interfaces and base classes designed to decouple domain logic from specific object mapper implementations, separating the business domain layer from the underlying data access implementation. The library includes a database schema management and migration tool for defining, versioning, and deploying incremental updates to database structures across different environments. It also functions as a document database mapper, translating object states into structured document formats for sto
DBeaver is a universal database client and administration environment designed for managing diverse relational and non-relational database systems. It provides a unified graphical interface that enables users to perform data manipulation, schema migration, and performance monitoring across multiple platforms. By utilizing a standardized driver abstraction layer, the application translates generic requests into database-specific commands, ensuring consistent interaction regardless of the underlying technology. The project distinguishes itself through an extensible, plugin-based architecture th
CloudBeaver is a web-based database manager and cloud database IDE that provides a centralized browser interface for administering SQL and NoSQL databases. It functions as a multi-database administration tool and an RBAC database access gateway, allowing users to manage diverse relational and document-based database engines through a single server-based installation. The platform distinguishes itself by integrating an artificial intelligence assistant for natural language SQL generation and optimization. It further supports collaborative data engineering by coordinating database operations ac
Vapor is a comprehensive server-side web framework designed for building scalable, high-performance applications and APIs in Swift. It provides a non-blocking, event-loop-based runtime that manages concurrent task processing, background job queues, and asynchronous request handling. The framework is built around a dependency injection container that manages the lifecycle and resolution of services, configurations, and database connections throughout the request pipeline. The framework distinguishes itself through a protocol-oriented design that emphasizes type safety across all layers of the
Ancestry is a materialized path tree library for managing hierarchical data models in relational databases. It provides a framework for organizing records into tree structures, allowing for the efficient retrieval of ancestors and descendants through path-based storage. The project distinguishes itself through specialized tools for maintaining tree integrity and transforming data. It includes a tree integrity manager to handle orphaned nodes and a JSON tree serializer that converts hierarchical database records into nested hashes or arrays for API responses. The library covers a broad range
This project is a MongoDB database driver and object-relational mapper that brings MongoDB support to the Laravel Eloquent model and query builder. It provides a NoSQL model mapper that allows MongoDB collections to be mapped to object-oriented models using the Active Record pattern. The integration enables the use of a fluent query builder for constructing queries and aggregation pipelines without writing raw database syntax. It supports schema-less model integration, allowing applications to manage unstructured data while maintaining compatibility with standard object-oriented patterns. Th
The mongo-go-driver is a Go library for building applications that integrate with a MongoDB document store. It enables the storage and retrieval of flexible document data by providing a bridge between Go backends and the database. The driver implements specialized capabilities for semantic vector search, allowing the handling and execution of high-dimensional vector data for similarity-based retrieval. It also supports full-text search via linguistic analysis and programmatic search index management. The project covers a broad range of database operations, including document-based CRUD, bulk
This project is a MySQL database driver and client for Node.js. It provides a JavaScript implementation of the MySQL protocol to facilitate connecting to, querying, and managing data within MySQL databases. The driver includes a connection pool manager to maintain a cache of reusable database connections, reducing the overhead of frequent network handshakes. It also supports row-by-row result streaming to process large datasets without loading entire result sets into memory. Core capabilities cover SQL query execution, the management of database transactions, and the coordination of multiple
DbGate is a universal database management tool and SQL client that provides a unified interface for querying and administering multiple SQL and NoSQL databases. It functions as a multi-database administration GUI and SQL IDE, allowing users to write and execute scripts and manage database schemas. The project distinguishes itself by acting as an API client and explorer for REST, GraphQL, and OData services, enabling users to fetch and export data from these endpoints. It also serves as a data integration tool, facilitating the movement of records between diverse databases and file formats suc
RoboMongo is a cross-platform database manager and graphical interface for administering MongoDB databases. It serves as a shell integrated development environment and query tool for managing NoSQL data stores and exploring collections across multiple server instances. The application provides a visual environment for writing and executing modern JavaScript scripts and native shell commands. It includes capabilities for running aggregate queries with paginated results and supports side-by-side views for comparing data outputs. The tool covers remote database connectivity through SSH tunnelin
This project is a Node.js client for PostgreSQL databases, providing a protocol parser to translate raw binary streams into JavaScript objects. It serves as a driver for executing queries, managing data, and integrating Node.js applications with PostgreSQL backends. The library includes a connection pool manager to reduce network overhead by caching reusable connections and a result streamer that uses cursors to retrieve large datasets incrementally. It also functions as an event listener for subscribing to asynchronous server-side notifications to trigger real-time application events. Broad
RethinkDB is a distributed, document-oriented database designed to store and manage JSON-formatted data across scalable clusters. It utilizes a custom log-structured storage engine with B-Tree indexing to ensure high-performance disk I/O and data persistence. The system maintains high availability through automatic sharding and replication, employing a primary-replica voting consensus mechanism to handle node failures and ensure consistent cluster operations. A defining characteristic of the platform is its reactive changefeed engine, which allows applications to subscribe to live data update
TOML is a configuration file format designed for human readability and unambiguous mapping to hash tables. It serves as a standardized language for structured data, enabling consistent parsing and data exchange across diverse programming environments. The format distinguishes itself through a strict type-system specification that ensures data is interpreted identically regardless of the implementation. It utilizes a line-oriented lexical structure that supports both hierarchical organization through bracketed sections and compact inline embedding for nested objects. This approach allows for t
This project is a cross-platform desktop application that provides a graphical interface for managing and interacting with Redis databases. Built as a standalone software program, it functions as a centralized connection manager that allows users to visualize data structures, perform administrative tasks, and inspect records across multiple database environments. The application distinguishes itself through its integration with external processes and command-line workflows. Users can define custom viewers to render specific data formats using external tools and launch the interface directly f