Sign inDemoInstall


Package Overview
File Explorer

Advanced tools

Install Socket

Protect your apps from supply chain attacks



Cassandra Object Models (ORM/ODM/OGM) for NodeJS with support for Apache Cassandra, ScyllaDB, Datastax Enterprise, Elassandra & JanusGraph.


Version published
Weekly downloads
increased by1.97%

Weekly downloads



[2.9.0] - 2023-04-01


  • Scylladb 5.x is now officially supported
  • All LTS versions >= NodeJS 12 are now officially supported


  • Removed official support for Node version < 12, may still work in older versions


  • Scylladb index conflict with materialized views
  • Incorrect where clause comparison in schema matching logic for scylladb


  • Upgraded package dependencies to resolve vulnerability in dependent packages



Build Status Download Stats Npm Version Documentation Status Dependency Status Mentioned in Awesome Cassandra


Express-Cassandra is a Cassandra ORM/ODM/OGM for NodeJS with support for Apache Cassandra, ScyllaDB, Datastax Enterprise, Elassandra & JanusGraph.

No more hassling with raw cql queries from your nodejs web frameworks. Express-Cassandra automatically loads your models and provides you with object oriented mapping to your cassandra/scylladb tables like a standard ORM/ODM. Built in support for Cassandra, ScyllaDB, Elassandra and JanusGraph allows you to automatically manage schema, graph and data models from your javascript codebase. Models are written as javascript modules and they automatically create the underlying db tables, indexes, materialized views, graphs etc. Afterwards you can save, update, delete and query your data using supported model methods. It's decoupled nature allows you to use it with many popular node frameworks without much hassle.

If you are using elassandra, then saved data in cassandra automatically syncs with elasticsearch indexes defined in your schema. You can then do any query elasticsearch indexes support.

If you are using janusgraph, then you can easily manage your graphs and graph indexes. Creating vertices and edges become simple function calls. You can then do any graph query the tinkerpop3 gremlin query language supports.

Our Sponsors:

Astra DB
Astra DB

Use Node/Express with DataStax Astra DB - built on Apache Cassandra.

Supported Features

  • supports the latest cassandra 4.x, 3.x and scylladb 5.x versions
  • compatible with datastax enterprise solr search and dse graph
  • support for elassandra index management and search queries
  • support for janusgraph graph management and tinkerpop3 gremlin queries
  • full featured CRUD operations and data type validations
  • full support for collections and other advanced data types
  • support for materialized views, secondary/custom/sasi indexes
  • support for complex queries, streaming and token based pagination
  • support for user defined types/functions/aggregates
  • support for batching ORM operations for atomic updates
  • support for before and after hook functions for save/update/delete
  • promise support with async suffixed functions
  • built-in experimental support for automatic migrations
  • built-in experimental support for fixture data import/export
  • optional support for query debug and progress logs
  • most of the bleeding edge cassandra and scylladb features are supported

This module internally uses cassandra-driver.


For apache cassandra 4.x, 3.x, scylladb 5.x or datastax enterprise 6.x, 5.x

npm install express-cassandra

For elassandra version 5.5.x

npm install express-cassandra elasticsearch

For janusgraph version 0.2.x

npm install express-cassandra gremlin@2.6.0

For older cassandra 2.x (no longer supported)

npm install express-cassandra@0.5.4

Please note that if you use the legacy cassandra 2.x compliant version then please use the corresponding file for that version. The following documentation is for version 4.x, 3.x and datastax enterprise 6.x/5.x only. The materialized view support and several other part of the documentation is strictly applicable for cassandra 4.x/3.x or scylladb 5.x or dse 6.x/5.x and will not work in earlier versions of cassandra.


Read the full usage documentation in the express-cassandra documentation site.


A detailed changelog for released versions is available in the changelog section.


All kinds of contributions, bug reports, bug fixes, documentation improvements, enhancements and ideas are welcome.

A detailed overview on how to contribute can be found in the contributing guide.


  • Express-cassandra started off from a highly modified version of apollo-cassandra module. Afterwards major refactoring and new development went on to support missing features of cassandra 3.x and beyond with support for additional functionalities.

  • Apache Cassandra, Apache Lucene, Apache, Lucene, Solr, TinkerPop, and Cassandra are trademarks of the Apache Software Foundation or its subsidiaries in Canada, the United States and/or other countries.

  • ScyllaDB, and ScyllaDB Cloud, are registered trademarks of ScyllaDB, Inc.

  • DataStax, Titan, and TitanDB are registered trademark of DataStax, Inc. and its subsidiaries in the United States and/or other countries.

  • Elasticsearch and Kibana are trademarks of Elasticsearch BV, registered in the U.S. and in other countries.

  • Elassandra is a trademark of Strapdata SAS.

  • JanusGraph is a trademark of The Linux Foundation.



Last updated on 01 Apr 2023

Did you know?

Socket installs a GitHub app to automatically flag issues on every pull request and report the health of your dependencies. Find out what is inside your node modules and prevent malicious activity before you update the dependencies.


Related posts

SocketSocket SOC 2 Logo


  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc