camo - A class-based ES6 ODM for Mongo-like databases.

  •        64

Short answer, we probably don't. Camo was created for two reasons: to bring traditional-style classes to MongoDB JavaScript, and to support NeDB as a backend (which is much like the SQLite-alternative to Mongo). Throughout development this eventually turned in to a library full of ES6 features. Coming from a Java background, its easier for me to design and write code in terms of classes, and I suspect this is true for many JavaScript beginners. While ES6 classes don't bring any new functionality to the language, they certainly do make it much easier to jump in to OOP with JavaScript, which is reason enough to warrent a new library, IMO.

https://github.com/scottwrobinson/camo

Dependencies:

depd : 1.1.0
lodash : 3.9.3

Tags
Implementation
License
Platform

   




Related Projects

NeDB - Embedded datastore for node.js

  •    Javascript

NeDB is an Embedded persistent or in memory database for Node.js, nw.js, Electron and browsers, It is 100% JavaScript, no binary dependency, its API is a subset of MongoDB. One datastore of NeDB is equivalent to a MongoDB collection.

ArangoDB - The Multi-purpose NoSQL DB

  •    C++

ArangoDB is a multi-purpose open-source database with flexible data model for documents, graphs, and key-values. Build high performance application using a convenient sql-like query language or JavaScript/Ruby extensions. Its key features are Schema-free, Convenient querying using AQL, Extendable through JS, Space efficiency, Supports modern storage hardware, like SSD and large caches and lot more.

Bagri - XML/Document DB on top of distributed cache

  •    Java

Bagri is a Document Database built on top of distributed cache solution like Hazelcast or Coherence. The system allows to process semi-structured schema-less documents and perform distributed queries on them in real-time. It scales horizontally very well with use of data sharding, when all documents are distributed evenly between distributed cache partitions.

MongoDB - NoSQL Document Store Database

  •    C++

MongoDB (from "humongous") is a scalable, high-performance, open source, dynamic-schema, document-oriented database. MongoDB bridges the gap between key-value stores (which are fast and highly scalable) and traditional RDBMS systems.

linvodb3 - Persistent database for Node

  •    Javascript

LinvoDB is a Node.js/NW.js/Electron persistent DB with MongoDB / Mongoose-like features and interface. LinvoDB is based on NeDB, the most significant core change is that it uses LevelUP as a back-end, meaning it doesn't have to keep the whole dataset in memory. LinvoDB also can do a query entirely by indexes, meaning it doesn't have to scan the full database on a query.


LokiJS - A fast, in-memory document-oriented datastore for node.js, browser and cordova

  •    Javascript

LokiJS is a document oriented database, Its purpose is to store javascript objects as documents in a nosql fashion and retrieve them with a similar mechanism. It runs in node (including cordova/phonegap and node-webkit) and the browser. It is ideal for client-side in-memory db is ideal (e.g., a session store), data sets loaded into a browser page and synchronised at the end of the work session etc.

meteor-astronomy - Model layer for Meteor

  •    Javascript

The Astronomy package introduces the Model Layer into Meteor applications. It can also be named the Object Document Mapping system (ODM) or for people coming from relational database environments the Object-Relational Mapping system (ORM). Astronomy extends MongoDB documents with functionalities defined in a schema. Astronomy documentation can be found here.

RavenDB - NoSQL Database .NET

  •    CSharp

Raven is an document database for the .NET/Windows platform. Raven offers a flexible data model design to fit the needs of real world systems. Raven stores schema-less JSON documents, allow you to define indexes using Linq queries and focus on low latency and high performance.

tiedot - Your NoSQL database powered by Golang

  •    Go

tiedot is a document database engine that uses JSON as document notation; it has a powerful query processor that supports advanced set operations; it can be embedded into your program, or run a stand-alone server using HTTP for an API. It runs on *nix and Windows operating systems.tiedot has fault-tolerant data structures that put your data safety first, while easily scales to 4+ CPU cores.

js-data - Give your data the treatment it deserves with a framework-agnostic, datastore-agnostic JavaScript ORM built for ease of use and peace of mind

  •    Javascript

JSData v3 is now stable!. Some adapters still need to be updated to work with v3. Message @jmdobry on the JSData Slack channel if you want to help with tests, documentation, tutorials, adapters, etc.JSData is a framework-agnostic, datastore-agnostic ORM for Node.js and the Browser.

OrientDB - The NoSQL Graph-Document DBMS

  •    Java

OrientDB has the flexibility of the Document databases and the power of the Graph databases to manage relationships. It can work in schema-less mode, schema-full or a mix of both. It can store up to 150,000 records per second on common hardware. OrientDB has been designed to be very fast. It inherits the best features and concepts from the Object Databases, Graph DBMS and the modern NoSQL engines.

ToroDB Stampede - Provides better analytics on top of MongoDB and make it easier to migrate from MongoDB to SQL

  •    Java

ToroDB helps to transform your NoSQL data from a MongoDB replica set into a relational database in PostgreSQL. There are other solutions that are able to store the JSON document in a relational table using PostgreSQL JSON support, but it doesn't solve the real problem of 'how to really use that data'. ToroDB Stampede replicates the document structure in different relational tables and stores the document data in different tuples using those tables.

SQLToNoSQLImporter - Import data from SQL to NoSQL systems

  •    Java

SQLToNoSQLImporter is a Solr like data import handler to import Sql (MySQL,Oracle,PostgreSQL) data to NoSQL Systems (Mongodb,CouchDB,Elastic Search). Migration is now completely configuration driven. SQLToNoSQLImporter reads from sql databases, converts and then batch inserts them into NoSQL datastore.

arangodb - 🥑 ArangoDB is a native multi-model database with flexible data models for documents, graphs, and key-values

  •    C++

ArangoDB is a multi-model, open-source database with flexible data models for documents, graphs, and key-values. Build high performance applications using a convenient SQL-like query language or JavaScript extensions. Use ACID transactions if you require them. Scale horizontally with a few mouse clicks. The supported data models can be mixed in queries and allow ArangoDB to be the aggregation point for your data.

RethinkDB - Distributed JSON database

  •    C++

RethinkDB is built to store JSON documents, and scale to multiple machines with very little effort. It has a pleasant query language that supports really useful queries like table joins and group by, and is easy to setup and learn. It supports JSON data model, Distributed joins, subqueries, aggregation, atomic updates, Hadoop-style map/reduce.

agensgraph - AgensGraph, a transactional graph database based on PostgreSQL

  •    C

AgensGraph is a new generation multi-model graph database for the modern complex data environment. AgensGraph is a multi-model database, which supports the relational and graph data model at the same time that enables developers to integrate the legacy relational data model and the flexible graph data model in one database. AgensGraph supports ANSI-SQL and openCypher (http://www.opencypher.org). SQL queries and Cypher queries can be integrated into a single query in AgensGraph. AgensGraph is based on the powerful PostgreSQL RDBMS, and is very robust, fully-featured and ready for enterprise use. AgensGraph is optimized for handling complex connected graph data and provides plenty of powerful database features essential to the enterprise database environment including ACID transactions, multi-version concurrency control, stored procedure, triggers, constraints, sophisticated monitoring and a flexible data model (JSON). Moreover, AgensGraph leverages the rich eco-systems of PostgreSQL and can be extended with many outstanding external modules, like PostGIS.

RxDB - A realtime Database for the Web

  •    Javascript

RxDB is a realtime Database for the Web. It is reactive data-handling based on RxJS. It helps App to work even without internet. It supports Mango-Query, Encryption, Import/Export of database and lot more.

YugaByte Database - Transactional, high-performance database for building internet-scale, globally-distributed applications

  •    C++

A cloud-native database for building mission-critical applications. This repository contains the Community Edition of the YugaByte Database.YugaByte offers both SQL and NoSQL in a single, unified db. It is meant to be a system-of-record/authoritative database that applications can rely on for correctness and availability. It allows applications to easily scale up and scale down in the cloud, on-premises or across hybrid environments without creating operational complexity or increasing the risk of outages.

UnQLite - Transactional Embedded NoSQL Database Engine

  •    C

UnQLite is a in-process software library which implements a self-contained, serverless, zero-configuration, transactional NoSQL database engine. UnQLite is a document store database similar to MongoDB, Redis, CouchDB etc. as well a standard Key/Value store similar to BerkeleyDB, LevelDB, etc.