Как отсортировать базу данных NeDB в ответе? (Javascript Синтаксис функции обратного вызова / стрелки) - PullRequest
0 голосов
/ 02 апреля 2020

У меня есть сервер express и простая база данных NeDB. Я могу успешно получить всю базу данных примерно так:

app.get('/api', (request, response) => {
  //queuery the database for everything
  db
    .find({}, (error, data) => {
        if (error) {
          response.end();
          console.log(error)
          return;
        }
      console.log(data)
      response.json(data)
    })

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

...
{"lat":1,"lon":7,"timestamp":1585781054239,"_id":"3cZvJfQyLEXK0SZo","createdAt":{"$$date":1585781054240},"updatedAt":{"$$date":1585781054240}}
{"lat":1,"lon":2,"timestamp":1585781047536,"_id":"DN9bpd1FygEowgtc","createdAt":{"$$date":1585781047538},"updatedAt":{"$$date":1585781047538}}
{"lat":1,"lon":6,"timestamp":1585781052398,"_id":"Dzp6x0xo3QM960Rm","createdAt":{"$$date":1585781052400},"updatedAt":{"$$date":1585781052400}}
{"lat":1,"lon":5,"timestamp":1585781051174,"_id":"KswtMYzV2QBE3xkb","createdAt":{"$$date":1585781051176},"updatedAt":{"$$date":1585781051176}}
...

По общему признанию, я не совсем понял, как работают обратные вызовы в этом коде. Я пробовал что-то вроде следующего, но он возвращает ошибку 500 GET клиенту и возвращает «TypeError: Невозможно прочитать свойство 'sort' undefined" на сервер:

app.get('/api', (request, response) => {
  //queuery the database for everything
  db
    .find({}, (error, data) => {
        if (error) {
          response.end();
          console.log(error)
          return;
        }
      // console.log(data)
      // response.json(data)
    })
    .sort({ createdAt: -1 }, (data) => {
    console.log(data)
    response.json(data)
  });
});

Интересно, должно ли это быть вложенный в функцию .find (), но на данный момент я слишком занят своей головой и считаю, что просто не понимаю синтаксис. Я нашел примеры сортировки, но не в этом контексте.

...