Firebase begins with query
Search for records using "begins with" logic in Firebase
by Kato Richardson
HTML
<script src="https://cdn.firebase.com/js/client/2.2.2/firebase.js"></script>
<label>
Search by Author:
<input type="text" /> <button>search</button>
</label>
<pre></pre>
JavaScript
var fb = new Firebase('https://kato-books.firebaseio.com');
var lastRef;
// search for terms using beginsWith
function find(searchTerm) {
if( lastRef ) {
lastRef.off(showResults);
}
var ref = fb;
if( searchTerm ) {
searchTerm = searchTerm.toLowerCase();
ref = ref.orderByChild('auth_lowercase')
.startAt(searchTerm)
.endAt(searchTerm+'~');
}
ref.once('value', showResults, console.error);
}
function showResults(snap) {
$('pre').text( JSON.stringify(snap.val(), null, 2) );
}
// some demo mojo
$('button').click(function() {
$('pre').text('Loading...');
var searchTerm = $('input').val();
find(searchTerm);
});
find();