2016-07-28 3 views
0

Я работаю над написанием API поиска, где пользователи могут искать Индивидуумов, используя комбинацию полей для ex. (Имя, фамилия, должность). Если введено имя и название, то поиск будет возвращать все записи, соответствующие первому имени и названию. Я ищу оптимизировать мой поиск, поэтому ищу некоторые варианты/отзывы.Поиск данных с использованием Mongoose, где введены не все поля

Проблема, с которой я столкнулся, касается любого поиска, не все данные могут быть введены, поэтому, если фамилия не введена, мой поиск не возвращает записей (в зависимости от того, как я делаю это показано ниже), хотя я должен искать с помощью Первый и Должность. Мне сложно настроить мой поисковый запрос с помощью Mongoose.

Одним из вариантов было бы проверить, введены ли данные, а затем построить мой запрос на лету; однако, используя Mongoose, я попытался создать свой запрос, и этот подход не сработал.

Вот что я сейчас Individual.find ( { первый: первый, последнее: наконец, название: название })

Я пытался строить это в виде строки на основе введенных данных, а затем прохождение

запроса = { первые: первое, последнее: наконец, название: название }), но не возвращает все записи, независимо от того, что было введено/как запрос строится и вставляются находка (запрос).

Оцените любые отзывы об этом.

ответ

0

dont pass last, если его нет.

var search_options = {}; 
if(first)search_options.first = first; 
if(last)search_options.last = last; 
if(title)search_options.title = title; 
Individual.find (search_options); 
+0

спасибо. Я попробовал, как вы предложили, и смог решить мою проблему. – Bhavin

Смежные вопросы