Node.js + Mongoose - Не получать данные каждый раз - PullRequest
0 голосов
/ 17 сентября 2018

Я сделал выпадающий список, который получает ссылки на некоторые данные, полученные с помощью mongoose.

Однако это не является постоянным.С точно таким же кодом я не всегда получаю свои данные по ссылкам.

(Это действительно так для всех моих вещей, но мои выпадающие списки просты)

Мои выпадающие списки (сделанные с помощью EJS и начальной загрузки)

<div class="dropdown-menu" aria-labelledby="navdrop">
                        <% schools.forEach((school) => { %>
                            <a href="/skoler/<%= school.adress.city %>" class="dropdown-item"><%= school.name %></a>
                        <% }); %>
                    </div>

(Извините за дерьмовый формат выше, редактор не позволил мне сделать его лучше).

Это мой маршрут для обработки моей индексной страницы.

server.get('/', 
    async function(req, res) {
        let schools = await schoolService.getAll();

        res.render('public assets/pages/index', {
            page_title: "Langaming.dk - Index",
            schools: schools
        });
    }
);

Это мой schoolService.getAll ();

"getAll": () => {
    return new Promise(function(resolve, reject){
        School.find({}, function (err, schools) {
            if (err)
                return reject(err)
            else 
                return resolve(schools)
        });
    })
}

Я постараюсь объяснить это немного лучше.Когда я захожу на свою страницу, иногда появляются ссылки, а иногда нет.(В основном это не так).Это один и тот же код все время.

В проекте запущен экспресс для обработки маршрута.

Почему это происходит?

1 Ответ

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

Возможно, по какой-то причине в вашей базе данных нет документов (вы стираете данные между запросами?), И она не собирается выдавать ошибку только из-за этого.

"getAll": () => {
return new Promise(function(resolve, reject){
    School.find({}, function (err, schools) {

        if (err)
            return reject(err)
        if (!schools) { 
            console.log('there are no documents');
            return reject();
        }
        else 
            resolve(schools)
    });
})

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...