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
-
Install Backbone (optional, but required for
QueryCollection
)npm install backbone
-
Install QueryEngine
npm install query-engine
-
Require QueryEngine
var queryEngine = require('query-engine');
-
Include the necessary scripts
<!-- Optional: But required for QueryCollection --> <script src="https://documentcloud.github.com/underscore/underscore-min.js"></script> <script src="https://documentcloud.github.com/backbone/backbone-min.js"></script> <!-- Required --> <script src="https://raw.github.com/bevry/query-engine/master/out/lib/query-engine.js"></script>
-
Access QueryEngine via the
window.queryEngine
variable
You can discover the history inside the History.md
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