json-lib

0.0.3 • Public • Published

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

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

model

methods description example
find(conditions: object, callback: function): void Find eligible data, asynchronous method has no return value. myModel.find({'name': /bob/i}) or myModel.find({'name': 'bob'})
findAsync(conditions: object): array Find eligible data, return an array myModel.find({'name': /bob/i}) or myModel.findAsync({'name': 'bob'})
findOne(conditions: object, callback: function): void Find eligible data, asynchronous method has no return value. myModel.find({'name': /bob/i}) or myModel.findOne({'name': 'bob'})
findOneAsync(conditions: object): object Find eligible data, return an object myModel.findOneAsync({'name': /bob/i}) or myModel.find({'name': 'bob'})
insert(newObject: object, conditions: object, position: string, callback: function): void Insert a piece of data, asynchronous method has no return value. myModel.insert({'name': /bob/i})
insertAsync(newObject: object, conditions: object, position: string): number Insert 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): void Insert multiple pieces of data, asynchronous method has no return value. myModel.insertMany({'name': /bob/i})
insertManyAsync(newObject: arrayObjects, conditions: object, position: string): arrayNumbers Insert multiple pieces of data, Returns the sequence number of the inserted data. myModel.insertManyAsync({'name': /bob/i})
remove(conditions: object, callback: function): void Delete multiple pieces of data, asynchronous method has no return value. myModel.remove({'name': /bob/i})
removeAsync(conditions: object: arrayNumbers Delete multiple pieces of data, Return delete quantity myModel.removeAsync({'name': /bob/i})
removeOne(conditions: object, callback: function): void Delete a piece of data, asynchronous method has no return value. myModel.removeOne({'name': /bob/i})
removeOneAsync(conditions: object): number Remove a piece of data, Return delete quantity myModel.removeOneAsync({'name': /bob/i})
update(conditions: object, newObject: object, callback: function): void Update a pieces of data, asynchronous method has no return value. myModel.update({'name': /bob/i}, {'name': 'jack'})
updateAsync(conditions: object, newObject: object): number Update a pieces of data, Return update quantity myModel.updateAsync({'name': /bob/i}, {'name': 'jack'})
updateOne(conditions: object, newObject: object, callback: function): void Update a piece of data, asynchronous method has no return value. myModel.updateOne({'name': /bob/i}, {'name': 'jack'})
updateOneAsync(conditions: object, newObject: object): number Update a piece of data, Return update quantity myModel.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}));
 

Readme

Keywords

Package Sidebar

Install

npm i json-lib

Weekly Downloads

5

Version

0.0.3

License

ISC

Unpacked Size

17.1 kB

Total Files

21

Last publish

Collaborators

  • lisniuse