Skip to content
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.

QueryEngine Build Status

QueryEngine provides extensive Querying, Filtering, and Searching abilities for Backbone.js Collections as well as JavaScript arrays and objects.


  • 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 QueryEngine

    npm install query-engine
  3. Require QueryEngine

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

Client-Side with Web Browsers

  1. Include the necessary scripts

    <script src=""></script>
    <script src=""></script>
    <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


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.