Skip to content

aalfiann/fly-json-odm

Repository files navigation

fly-json-odm

NPM js-semistandard-style

npm version CircleCI Known Vulnerabilities License NPM download/month NPM download total
An Object Document Mapper to handle JSON on the fly for NodeJS or Browser.

fly-json-odm is the ODM library to handle JSON directly on the fly like NOSQL does. You are able to make manipulation of JSON like ORM. For example is to do Insert, Read, Update, Modify, Delete, Join, Query, Transform, Fuzzy and Mixin.

Install using NPM

$ npm install fly-json-odm

Or simply use in Browser with CDN

<!-- Always get the latest version -->
<!-- Not recommended for production sites! -->
<script src="https://cdn.jsdelivr.net/npm/fly-json-odm/dist/flyjson.min.js"></script>

<!-- Get minor updates and patch fixes within a major version -->
<script src="https://cdn.jsdelivr.net/npm/fly-json-odm@1/dist/flyjson.min.js"></script>

<!-- Get patch fixes within a minor version -->
<script src="https://cdn.jsdelivr.net/npm/fly-json-odm@1.22/dist/flyjson.min.js"></script>

<!-- Get a specific version -->
<!-- Recommended for production sites! -->
<script src="https://cdn.jsdelivr.net/npm/fly-json-odm@1.22.0/dist/flyjson.min.js"></script>

Usage

const FlyJson = require('fly-json-odm'); // in browser doesn't need this line

var nosql = new FlyJson();

// example data json
var data = [
    {user_id:1,name:'budi',age:10},
    {user_id:5,name:'wawan',age:20},
    {user_id:3,name:'tono',age:30}
];

// Synchronous
var result = nosql.set(data)
  .where('age', '>', 10)
  .orderBy('age', true)
  .exec();
console.log(result);

// Asynchronous
nosql.promisify((builder) => {return builder}).then((table) => {
  var result = table.set(data)
    .where('name', '==', 'wawan')
    .exec();
  console.log(result);
});

Note:

  • Structure Data Table JSON must be an Array which is contains Object like example above.
  • fly-json-odm is synchronous as default.

Documentation

Documentation is available in our Wiki.

Unit Test

If you want to play around with unit test.

$ npm test