Поддерживает ли «отдельная» функция Mongoose Regex в запросе?
Вопрос
У меня есть следующий бит JS в проекте узла/монгуза. Я работаю над автозаполненной формой. Это отлично работает с обычной «находкой», но я хочу сделать «отличную» находку вместо этого.
Итак, вот где я нахожусь до сих пор. Проблема, которую, я считаю, заключается в том, как образуется запрос. Может ли кто -нибудь помочь с моим синтаксисом в отдельной линии? Или это просто то, что «различная» Mongoose не поддерживает регулярную экспозицию в дополнительном запросе?
var text.term = 'johnny';
var regex = new RegExp("^"+text.term);
// execute the search
Performance.collection.distinct({lc_actor: regex}, function(err, docs) {
var names = [];
for(var nam in docs) {
// push the lc_actor to the array
names.push(docs[nam].lc_actor);
}
// send back via callback function
callback(null, names);
});
И вот что показывает моя супербозовая консоль (-vvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvvv
Tue Nov 29 13:34:30 [conn1] runQuery called mydb.$cmd { distinct: "performances", query: {}, key: { lc_actor: /^johnny/ } }
Tue Nov 29 13:34:30 [conn1] run command mydb.$cmd { distinct: "performances", query: {}, key: { lc_actor: /^johnny/ } }
Tue Nov 29 13:34:30 [conn1] command mydb.$cmd command: { distinct: "performances", query: {}, key: { lc_actor: /^johnny/ } } ntoreturn:1 reslen:140 526ms
Любые идеи?
Решение
Отвечая на мой собственный вопрос. У меня действительно были синтаксические ошибки в отличном методе Mongoose. Он принимает 3 параметра, у меня было только 2. Правильный синтаксис с помощью регулярного выражения (или любого условия):
Performance.collection.distinct('lc_actor', {lc_actor: regex}, function(err, docs) {
От mongoose docs для model.distinct ():
Model.distinct(field, conditions, callback);