Wondering what’s next for npm?Check out our public roadmap! »

    massive
    DefinitelyTyped icon, indicating that this package has TypeScript declarations provided by the separate @types/massive package

    6.9.0 • Public • Published

    Massive.js: A Postgres-centric Data Access Tool

    node Build Status Coverage Status npm

    Massive is a data mapper for Node.js that goes all in on PostgreSQL, and embraces the power and flexibility of SQL itself and of the relational metaphor. With minimal abstractions for the interfaces and tools you already use, its goal is to do just enough to make working with your data and your database as easy and intuitive as possible, then get out of your way.

    Massive is not an object-relational mapper (ORM)! It doesn't use models, it doesn't track state, and it doesn't box you into working and thinking in terms of individual entities. Massive connects to your database and introspects its schemas to build an API for the data model you already have: your tables, views, functions, and easily-modified SQL scripts.

    Here are some of the highlights:

    • Dynamic query generation: Massive's versatile query builder supports a wide variety of operators in a simple criteria object, and can handle everything from complex sorting in order to true upserts with onConflict.
    • Low overhead: An API built from your schema means direct access to your tables, views, and functions; all the power of SQL loaded from your project's script files; super-simple bulk operations; and no model classes to maintain!
    • Join what you need, when you need it: Call join() on any table or view to use Massive's query and even persistence methods over multiple relations at once.
    • Document storage: PostgreSQL's JSONB data type makes it possible to blend relational and document techniques. Massive makes working with documents as straightforward as possible: objects in, objects out, with the metadata managed for you.
    • Transactions: Use db.withTransaction() to execute a callback with full Massive API support in a transaction scope, getting a promise which fulfills if it commits or rejects if it rolls back.
    • Postgres everything: Many, if not most, relational data access tools are built with compatibility across various relational database management systems in mind. Massive is not. By committing to a single RDBMS, Massive gains support for array fields and operations, regular expression matching, foreign tables, materialized views, and more features found in PostgreSQL but not its competition.

    Installation

    npm i massive --save
    

    Documentation

    Documentation and API docs are at MassiveJS.org.

    Contributing

    See CONTRIBUTING.md.

    Older Versions

    If you need a callback-based API, install Massive.js v2: npm install massive@2

    Documentation for Massive.js 2.x is at readthedocs.

    Install

    npm i massive

    DownloadsWeekly Downloads

    8,905

    Version

    6.9.0

    License

    BSD-3-Clause

    Unpacked Size

    188 kB

    Total Files

    44

    Last publish

    Collaborators

    • avatar
    • avatar