Задать вопрос
@vita_run

Как реализовать поиск по неполному вхождению?

Запись имеет название `titlePhoto`, которое хранится в качестве массива. Пытаюсь выполнить поиск по неполному названию. Как правильно это сделать? Выдает ошибку `photos is not defined`.
Форма поиска:

<form class="search-form" action="/search-form" method="post">
         <input class="search-input" placeholder="Введите название" type="search" value="" name="search" id="inputSearch">
         <label for="search" class="search-label">
            <img src="/static/images/icons/search.svg">
         </label>
    </form>


обработчик-post

app.post('/search-form', function (req, res) {
        var inputSearch = req.body.search;
        Photo.aggregate([
            {"$match": {
                "titlePhoto": {"$regex": inputSearch, "$options": "i"}
                }}
        ]);
        res.render('index.ejs', {photoList: photos});


обработчик get

app.get('/', function (req, res) {
        Promise.all([
            Photo.find({}),
            Sight.find({}),
            Categories.find({})
        ]).then(function(data) {
            res.render('index.ejs', {photoList: data[0], sights: data[1], categories: data[2], isAuth: req.isAuthenticated()});
        } );
    });
  • Вопрос задан
  • 358 просмотров
Подписаться 1 Простой 7 комментариев
Пригласить эксперта
Ответы на вопрос 1
Anubis
@Anubis
Люблю корейскую кухню и веб-разработку
Вижу обращение к переменной photos в листинге обработчик-post
Не вижу её объявления
Может, const photos = Photo.aggregate...?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы