/query-engine

Query-Engine provides extensive Querying, Filtering, and Searching abilities for Backbone Collections and JavaScript Objects

Primary LanguageCoffeeScriptMIT LicenseMIT

QueryEngine Build Status

QueryEngine provides extensive Querying, Filtering, and Searching abilities for Backbone.js Collections as well as JavaScript arrays and objects. The Backbone.js and Underscore dependencies are optional.

Features

  • includes a live interactive demos with several examples, wiki documentation and source-code documentation
  • runs on node.js and in the browser
  • supports NoSQL queries (like MongoDB)
  • supports filters (applying a filter function to a collection)
  • supports search strings (useful for turning search input fields into useful queries)
  • supports pills for search strings (e.g. author:ben priority:important)
  • supports optional live collections (when a model is changed, added or removed, it can automatically be tested against the collections queries, filters, and search string, if it fails, remove it from the collection)
  • supports parent and child collections (when a parent collection has a model removed, it is removed from the child collection too, when a parent collection has a model added or changed, it is retested against the child collection)
  • actively maintained, supported, and implemented by several companies

Installation

Server-Side with Node.js

  1. Install Node.js

  2. Install Backbone (optional, but required for QueryCollection)

    npm install backbone
  3. Install QueryEngine

    npm install query-engine
  4. Require QueryEngine

    var queryEngine = require('query-engine');

Client-Side with Web Browsers

  1. Include the necessary scripts

    <!-- Optional: But required for QueryCollection -->
    <script src="http://documentcloud.github.com/underscore/underscore-min.js"></script>
    <script src="http://documentcloud.github.com/backbone/backbone-min.js"></script>
    
    <!-- Required -->
    <script src="http://raw.github.com/bevry/query-engine/master/out/lib/query-engine.js"></script>
  2. Access QueryEngine via the window.queryEngine variable

Using

You can find all the information you desire about using QueryEngine on its Using QueryEngine Wiki Page

History

You can discover the history inside the History.md file

Compatability

Tested and working against backbone versions 0.9.2 and 0.9.9.

License

Licensed under the incredibly permissive MIT License
Copyright © 2012 Bevry Pty Ltd
Copyright © 2011 Benjamin Lupton