Express-Cassandra is a Cassandra ORM/ODM/OGM for NodeJS with Elassandra & JanusGraph Support.
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 tables like a standard ORM/ODM. Built in support for Elassandra and JanusGraph allows you to automatically manage synced elasticsearch and janusgraph indexes stored in cassandra.
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.
This module internally uses cassandra-driver.
For apache cassandra version 3.x or datastax enterprise
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 [email protected]
For older cassandra 2.x (no longer supported)
npm install [email protected]
Please note that if you use the legacy cassandra 2.x compliant version then please use the corresponding README.md file for that version. The following documentation is for version 3.x and datastax enterprise 5.x only. The materialized view support and several other part of the documentation is strictly applicable for cassandra 3.x / dse 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 are available in the changelog section.
All 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 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.
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.