как сделать запрос MongoDB и использовать его в частичном представлении - PullRequest
0 голосов
/ 26 февраля 2019

У меня есть коллекция, называемая событиями, которые я сейчас использую в своей части нижнего колонтитула, однако я хотел бы показать только те, чья дата больше, чем сегодня.Я добился этого в оболочке mongo следующим образом:

db.events.find({date: {$gte: new Date()}})

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

Чтобы иметь возможность использовать эту коллекцию на каждой странице, я использую этот кодв моем app.js

// passing courses to every EJS template
app.use(function (req, res, next) {

    Event.find({}, function (err, allEvents) {
        if (err) {
            console.log(err);
            res.locals.events = [];
            next();
        } else {
            res.locals.events = allEvents;
            next();
        }
    });
});

, и именно здесь я делаю свой цикл в частичном нижнем колонтитуле

<div id="event-footer" class="col-12  mt-4 mt-md-5 text-center col-md-4 text-md-left">
  <div class="">
    <h4 class="pb-1 pb-md-5">PROXIMOS EVENTOS</h4>
      <% var count = 0; %>
      <% events.forEach(function(event) { %>
        <% if (count <= 2 ) { %>
          <div class="eventDisplay text-center text-md-left">
            <h6><%=moment(event.date).format('dddd, D MMMM, h:mm a')%></h6>
            <p> <%= event.name %> </p>
          </div>
        <% } %>
      <% count++; }); %>
  </div>
</div>

1 Ответ

0 голосов
/ 26 февраля 2019

Попробуйте это ...

Event.find({date: {$gte: new Date()}}, function (err, allEvents) { ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...