Используя момент. js, чтобы указать время последнего обновления mongoDB / mon goose? - PullRequest
0 голосов
/ 29 апреля 2020

У меня есть таблица, заполненная данными из моего mongoDB, и я хочу использовать момент. js для указания последней даты / времени, когда любая запись в таблице была отредактирована и обновлена.

Моя проблема в том, что момент. js, кажется, показывает дату / время в реальном времени, а не только когда была отредактирована запись базы данных.

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

Пн goose Схема, где я использую метки времени для функции updatedAt:

var environmentSchema = new mongoose.Schema({
    ePIMS: String,
    codeVersion: String,
    region: String
  }, {
    timestamps: true
  });

HTML, где я пытаюсь использовать момент. js

<table>
   <%= moment(environments.updatedAt) %> <!-- using it here causes the date/time to update in real time -->

   <% environments.forEach(function(environment){ %>
    <!-- if I use the moment.js code here, it shows it 3 times for all three of the ```td```'s below -->
     <tr>

         <td><%= environment.ePIMS %></td>
         <td><%= environment.codeVersion %></td>
         <td><%= environment.region %></td>

     </tr>
   <% }); %> 
 </table>

Кстати, это работает, когда я помещаю момент. js код в моем forEach l oop, где вызывается моя коллекция mon go (environments), но затем он показывает дату и время для каждая запись в моей базе данных, и обновляет эти даты / время индивидуально. Есть ли способ сделать это таким образом, но иметь только одну дату / время для всех записей?

1 Ответ

0 голосов
/ 29 апреля 2020
  • Environments - это массив объектов среды, и вы пытаетесь получить обновление об этом.
  • Вам нужно получить один объект окружения и получить UpdateAt этого единственного объекта.
  • Таким образом, вы можете поместить [index] в основном [0] environments[0].updatedAt, чтобы получить обновленную Ат для первой среды.
  • Чтобы получить последнюю go с sort({"updatedAt": -1}) и затем environments[0].updatedAt
...