awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
balderdashy avatar

balderdashy/waterline

0
View on GitHub↗
5,392 stars·595 forks·JavaScript·MIT·21 viewswaterlinejs.org↗

Waterline

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 relational and document mapping, providing a consistent syntax for storing and retrieving data. It utilizes schema-driven object mapping to bridge the gap between database tables or collections and JavaScript objects.

Features

  • Unified Database Interfaces - Provides a single, unified API to perform CRUD operations regardless of the underlying database engine.
  • Data Access & Abstraction - Offers an abstraction layer for simplified interaction with diverse data sources without exposing complex implementation details.
  • Database Adapters - Functions as a persistence layer using standardized interfaces to decouple application logic from specific database engines.
  • Database Driver Abstractions - Provides a standardized abstraction layer that decouples the application from specific database driver implementations.
  • Multi-Store ORMs - Acts as a database object relational mapper providing a consistent API across multiple different data stores.
  • Schema-Driven Object Modeling - Employs a schema-driven approach to map database tables and collections to JavaScript objects.
  • Object Relational Mappings - Implements a standardized mapping layer that manages both relational SQL and document-based NoSQL data models.
  • Pluggable Storage Backends - Utilizes a pluggable architecture that allows external modules to implement specific database protocols as storage backends.
  • Query Interface Adapters - Uses query interface adapters to translate unified method calls into database-specific queries.
  • Database Abstractions - Provides a consistent syntax for storing and retrieving data across different database types in Node.js.
  • Multi-Database Abstractions - Integrates multiple data stores like PostgreSQL and MongoDB within a single application using a unified interface.
  • Database Engine Migrations - Facilitates switching between different database engines by changing adapters without altering the core business logic.
  • Persistence Layers - Provides a unified persistence mechanism for managing state across MySQL, PostgreSQL, MongoDB, and SQL Server.
  • Asynchronous Promise Interfaces - Implements a promise-based API to handle non-blocking database I/O operations within the Node.js event loop.
  • Databases - Data-store agnostic ORM.
  • Object Relational Mappers - Datastore-agnostic interaction layer.

Star history

Star history chart for balderdashy/waterlineStar history chart for balderdashy/waterline

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with Waterline

These projects share indexed features with Waterline. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • mikro-orm/mikro-ormmikro-orm avatar

    mikro-orm/mikro-orm

    9,085View on GitHub↗

    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

    TypeScript
    View on GitHub↗9,085
  • automattic/mongooseAutomattic avatar

    Automattic/mongoose

    27,479View on GitHub↗

    Mongoose is an object data modeling library and framework for Node.js that maps application objects to MongoDB documents. It functions as a document mapper and schema validator, ensuring consistent data types and validation rules for records stored in MongoDB. The project provides a system for defining structured schemas to model application data, including the ability to create hierarchical data structures through nested schema composition. It implements a middleware-based hook system that allows for the interception and modification of data states during the lifecycle of database operations

    JavaScript
    View on GitHub↗27,479
  • seaql/sea-ormSeaQL avatar

    SeaQL/sea-orm

    9,410View on GitHub↗

    Sea-ORM is an asynchronous SQL object-relational mapper and database toolkit for mapping relational tables to strongly typed objects. It provides a relational database mapper for performing CRUD operations across MySQL, PostgreSQL, and SQLite, and includes a programmatic dynamic query builder for constructing complex SQL statements. The project distinguishes itself by providing a GraphQL schema generator that transforms database entities into typed schemas with built-in pagination and filters. It also features a dedicated database migration tool for defining and applying versioned schema chan

    Rustdatabasehacktoberfestloco
    View on GitHub↗9,410
  • achristmascarl/rainfrogachristmascarl avatar

    achristmascarl/rainfrog

    4,855View on GitHub↗

    Rainfrog is a terminal-based database client that connects to multiple database engines, combining schema browsing, interactive SQL query execution, and inline data editing into a single terminal interface. It provides a tree navigator for exploring tables, columns, and indexes, and an inline cell editor that automatically constructs and executes the necessary UPDATE statements when a cell value is changed. The application also supports modal Vim-style keyboard shortcuts for cursor movement and editing, making it usable entirely from the keyboard. Query results are fetched in chunks and pagin

    Rustdatabase-managementmysqlpostgresql
    View on GitHub↗4,855
Compare all 30 related projects→

Frequently asked questions

What does balderdashy/waterline do?

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.

What are the main features of balderdashy/waterline?

The main features of balderdashy/waterline are: Unified Database Interfaces, Data Access & Abstraction, Database Adapters, Database Driver Abstractions, Multi-Store ORMs, Schema-Driven Object Modeling, Object Relational Mappings, Pluggable Storage Backends.

Which projects share features with balderdashy/waterline?

Projects with overlapping indexed features include: mikro-orm/mikro-orm — Mikro-ORM is a TypeScript-based object-relational mapping system that provides a unified persistence layer for Node.js… automattic/mongoose — Mongoose is an object data modeling library and framework for Node.js that maps application objects to MongoDB… seaql/sea-orm — Sea-ORM is an asynchronous SQL object-relational mapper and database toolkit for mapping relational tables to strongly… achristmascarl/rainfrog — Rainfrog is a terminal-based database client that connects to multiple database engines, combining schema browsing,… tortoise/tortoise-orm — Tortoise ORM is an asynchronous object-relational mapper for Python that mirrors Django's model and queryset API while… rethinkdb/rethinkdb — RethinkDB is a distributed, document-oriented database designed to store and manage JSON-formatted data across…