Neighbour Problem Manager

    faltu

    0.1.0 • Public • Published

    travis-ci Coverage Status npm version License

    Faltu

    Search sort, filter, limit and iterate over an array of objects in Mongo-style.

    Installation

    In NodeJS:

    npm install faltu --save

    For other projects simply download and include the file in your pages:

    <script src="faltu.min.js"></script>

    Usage

    All the data passed is expected to be an array or objects.

    e.g:

    [record, record, ..., record]
    

    All the data returned is also of the same type.

    For example:

    var data = [{
      name: "John",
      age: 16
    },{
      name: "Doe",
      age: 18
    },{
      name: "Smith",
      age: 22
    }];

    Pass the array to constructor:

    In NodeJS:

    var Faltu = require('faltu');
    var faltuData = new Faltu(data);

    Searching

    You can use find method for searching. Search for all the guys who are 18 years of age:

    var newData = new Faltu(data).find({
      age: 18
    }).get();

    newData would look something like:

    [{
      name: "Doe",
      age: 18
    }]

    Search for all the guys who are 18 years of age or older:

    var newData = new Faltu(data).find({
      age: {
        $gte: 18 // $gte is similar to >= (greater than or equal to)
      }
    }).get();

    newData:

    [{
      name: "Doe",
      age: 18
    },{
      name: "Smith",
      age: 22
    }]

    Other supported comparison operators in find are:

    • $lt: <
    • $lte: <=
    • $gt: >
    • $ne: !=

    Search for all the guys who are 18 or 16 years of age:

    var newData = new Faltu(data).find({
      age: [16, 18]
    }).get();

    newData:

    [{
      name: "John",
      age: 16
    },{
      name: "Doe",
      age: 18
    }]

    Passing null, empty object {} or nothing to find means not performing any search.

    Sorting

    Use sort to sort the result in descending order by age:

    var newData = new Faltu(data).find({
      age: [16, 18]
    }).sort({
      age: -1 // 1 = ASC, -1 = DESC
    }).get();

    newData:

    [{
      name: "Doe",
      age: 18
    },{
      name: "John",
      age: 16
    }]

    Limit

    Let's get only 1 object back:

    var newData = new Faltu(data).find().limit(1).get();

    newData:

    [{
      name: "John",
      age: 16
    }]

    Skip

    Let's skip 1st object:

    var newData = new Faltu(data).find().skip(1).get();

    newData:

    [{
      name: "Doe",
      age: 18
    },{
      name: "Smith",
      age: 22
    }]

    Skip & Limit

    Let's skip 1st object:

    var newData = new Faltu(data).find().skip(1).limit(1).get();

    newData:

    [{
      name: "Doe",
      age: 18
    }]

    Filtering

    You can also perform jQuery-esque filtering yourself. Call filter method, pass a function.

    var newData = new Faltu(data).find().filter(function (person) {
      return person.age == 16; // return true if you want to keep the object
    }).get();

    newData:

    [{
      name: "John",
      age: 16
    }]

    Iterate

    each iterates over all the records returned.

    var newData = new Faltu(data).find(null).each(function(person, index){
      console.log('User name:', person.name);
    });

    Install

    npm i faltu

    DownloadsWeekly Downloads

    122

    Version

    0.1.0

    License

    MIT

    Last publish

    Collaborators

    • moinism