Необязательный запрос MongoDB .find ()? - PullRequest
0 голосов
/ 18 сентября 2018

Я строю форму, которая фильтрует записи базы данных на основе введенного текста.Он работает для поиска по имени записи в базе данных, но как я могу сделать так, чтобы он также осуществлял поиск по описанию записи, но если ничего не найдено, он игнорируется?

Например, Database.find ({name:searchText, desc: searchText}). fetch ();// searchText является объектом регулярного выражения

Я хотел бы вернуть все вещи, которые содержат searchText, в name и desc, но я все равно хотел бы вернуть те, которые просто совпадают с name, если desc не совпадает.

Попытка сделать это без создания нового запроса, поскольку в этом нет необходимости, есть ли какой-то необязательный параметр, который я пропускаю, или это невозможно?

Надеюсь, это имеет смысл.Спасибо

Ответы [ 2 ]

0 голосов
/ 19 сентября 2018

Почему бы вам не использовать оператор ИЛИ ? Мне кажется, этого должно быть достаточно для вашего случая.

0 голосов
/ 18 сентября 2018

Закончилась фиксация с помощью цикла for.

let a = Database.find({name: searchText}).fetch();
let b = Database.find({desc: searchText}).fetch();
for(let c in b){
   a.push(b[c])
}
return b;

Просто, если у кого-то есть подобная проблема. Пожалуйста, ответьте, если есть лучшее решение!

...