0.0.3 • Published 6 years ago

json-lib v0.0.3

Weekly downloads
2
License
ISC
Repository
github
Last release
6 years ago

json-lib

A json data manipulation class library.

json-lib has a Mongoose-like api that is a simplified version of Mongoose's api.

Installation

This is a Node.js module available through the npm registry.

Before installing, download and install Node.js. Node.js 8.0 or higher is required.

Installation is done using the npm install command:

$ npm install json-lib

Importing

// Using Node.js `require()`
const jsonlib = require('json-lib');

// Using ES6 imports
import jsonlib from 'json-lib';

API

jsonlib

methodsdescriptionexample
model(context: filePath | JSONstinrg | JSONObject)Load json data formatlet myModel = jsonlib.model('./users.json'); or let myModel = jsonlib.model([{foo: 'bar'}]);

model

methodsdescriptionexample
find(conditions: object, callback: function): voidFind eligible data, asynchronous method has no return value.myModel.find({'name': /bob/i}) or myModel.find({'name': 'bob'})
findAsync(conditions: object): arrayFind eligible data, return an arraymyModel.find({'name': /bob/i}) or myModel.findAsync({'name': 'bob'})
findOne(conditions: object, callback: function): voidFind eligible data, asynchronous method has no return value.myModel.find({'name': /bob/i}) or myModel.findOne({'name': 'bob'})
findOneAsync(conditions: object): objectFind eligible data, return an objectmyModel.findOneAsync({'name': /bob/i}) or myModel.find({'name': 'bob'})
insert(newObject: object, conditions: object, position: string, callback: function): voidInsert a piece of data, asynchronous method has no return value.myModel.insert({'name': /bob/i})
insertAsync(newObject: object, conditions: object, position: string): numberInsert a piece of data, Returns the sequence number of the inserted data.myModel.insertAsync({'name': /bob/i})
insertMany(newObjects: arrayObjects, conditions: object, position: string, callback: function): voidInsert multiple pieces of data, asynchronous method has no return value.myModel.insertMany({'name': /bob/i})
insertManyAsync(newObject: arrayObjects, conditions: object, position: string): arrayNumbersInsert multiple pieces of data, Returns the sequence number of the inserted data.myModel.insertManyAsync({'name': /bob/i})
remove(conditions: object, callback: function): voidDelete multiple pieces of data, asynchronous method has no return value.myModel.remove({'name': /bob/i})
removeAsync(conditions: object: arrayNumbersDelete multiple pieces of data, Return delete quantitymyModel.removeAsync({'name': /bob/i})
removeOne(conditions: object, callback: function): voidDelete a piece of data, asynchronous method has no return value.myModel.removeOne({'name': /bob/i})
removeOneAsync(conditions: object): numberRemove a piece of data, Return delete quantitymyModel.removeOneAsync({'name': /bob/i})
update(conditions: object, newObject: object, callback: function): voidUpdate a pieces of data, asynchronous method has no return value.myModel.update({'name': /bob/i}, {'name': 'jack'})
updateAsync(conditions: object, newObject: object): numberUpdate a pieces of data, Return update quantitymyModel.updateAsync({'name': /bob/i}, {'name': 'jack'})
updateOne(conditions: object, newObject: object, callback: function): voidUpdate a piece of data, asynchronous method has no return value.myModel.updateOne({'name': /bob/i}, {'name': 'jack'})
updateOneAsync(conditions: object, newObject: object): numberUpdate a piece of data, Return update quantitymyModel.updateOneAsync({'name': /bob/i}, {'name': 'jack'})

example

const jsonlib = require('json-lib');

//Three ways to load json
let myModel = jsonlib.model('./users.json');
let myModel2 = jsonlib.model(`
{
  "name": "user",
  "data": [
    {
      "name": "jack",
      "age": 25,
      "sex": 1,
      "height": 180,
      "weight": 70
    },
    {
      "name": "bob",
      "age": 28,
      "sex": 1,
      "height": 170,
      "weight": 65
    }
  ]
}
`);
let myModel3 = jsonlib.model({
  "name": "user",
  "data": [
    {
      "name": "jack",
      "age": 25,
      "sex": 1,
      "height": 180,
      "weight": 70
    },
    {
      "name": "bob",
      "age": 28,
      "sex": 1,
      "height": 170,
      "weight": 65
    }
  ]
});

console.log('=> insert: tom');
let tom = {
  "name": "tom",
  "age": 35,
  "sex": 1,
  "height": 174,
  "weight": 77
}
myModel.insertSync(tom);
myModel2.insertSync(tom);
myModel3.insertSync(tom);
console.log('=> delete: tom');
myModel.removeSync({'name': 'tom'});
myModel2.removeSync({'name': 'tom'});
myModel3.removeSync({'name': 'tom'});
console.log('=> update: bob');
myModel.updateOneSync({'name': 'bob'}, {"age": 40});
myModel2.updateOneSync({'name': 'bob'}, {"age": 40});
myModel3.updateOneSync({'name': 'bob'}, {"age": 40});
console.log('=> read: bob');
console.log(myModel.findSync({'name': /bob/i}));
console.log(myModel2.findSync({'name': /bob/i}));
console.log(myModel3.findSync({'name': /bob/i}));
0.0.3

6 years ago

0.0.2

6 years ago

0.0.1

6 years ago