Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Query Engine allows you to perform advanced queries, filters, searching and paging for javascript arrays and objects as well as Backbone.js Collections
Fetching latest commit...
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Build Status NPM version Flattr this project

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.


  • 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


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=""></script>
    <script src=""></script>
    <!-- Required -->
    <script src=""></script>
  2. Access QueryEngine via the window.queryEngine variable


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


You can discover the history inside the file


Tested and working against Backbone versions 0.9.2, 0.9.9, and 1.0.0


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

Something went wrong with that request. Please try again.