This code dumped to exception
self.staticVars.Model
.find({shortAddress: {$text : { $search: data.text }}, _town: data._town},{limit: 10})
.populate('_street _district')
.sort({house: 1})
.exec(callback);
Exception
Can't use $text with String
Model
shortAddress: {
type: String
},
Index
collection.ensureIndex({fullAddress: 'text', shortAddress: 'text'}, { default_language: "russian" },function(){});
Looking at the docs you cannot specify a field for the text search, it will search across all the indexed fields, so in your case it will search over fullAddress and shortAddress returning documents that match in either of these fields.
Your query would need to be:
self.staticVars.Model
.find({$text : { $search: data.text }, _town: data._town},{limit: 10})
.populate('_street _district')
.sort({house: 1})
.exec(callback);
This should now return you the correct data.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With