Skip to content

Instantly share code, notes, and snippets.

@DanielDornhardt
Created March 27, 2015 16:27
Show Gist options
  • Save DanielDornhardt/c3f4195bed9afacc2ddf to your computer and use it in GitHub Desktop.
Save DanielDornhardt/c3f4195bed9afacc2ddf to your computer and use it in GitHub Desktop.
Meteor EasySearch case insensitive substring search query
query: function(searchString) {
var field, selector, stringSelector;
selector = {};
field = this.field;
stringSelector = {
'$regex': '.*' + searchString + '.*',
'$options': 'i'
};
if (_.isString(field)) {
selector[field] = stringSelector;
return selector;
}
if (this.convertNumbers && parseInt(searchString, 10) === searchString) {
searchString = parseInt(searchString, 10);
}
selector['$or'] = [];
_.each(field, function(fieldString) {
var orSelector;
orSelector = {};
if (_.isString(searchString)) {
orSelector[fieldString] = stringSelector;
} else if (_.isNumber(searchString)) {
orSelector[fieldString] = searchString;
}
return selector['$or'].push(orSelector);
});
return selector;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment