Сортировка возвращенных документов MongoDB по пользовательским критериям, а не по полю - PullRequest
0 голосов
/ 25 февраля 2019

Я храню время в своей записи в виде строки в формате HH:mm, но в Node JS мне нужно отсортировать по этому полю времени, но проблема в том, что оно так же, как строка.Сначала мне нужно сопоставить свое время с Date объектом, это вообще возможно?мой код пока:

    find({hairdresserId: ObjectId(id),
           visitDate: date}, {visitHourStart: 1, visitHourEnd: 1, _id: 0},
           (err, document) => {
               res.json({
                   typeOfDocument: typeof document,
                   vistsForThisDay: document.length,
                   visits: document
               });
           }).sort({visitHourStart: 1});

Но sort({}) должно выглядеть больше как sort({Date(visitHourStart): 1})

1 Ответ

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

mongodb не поддерживает пользовательскую сортировку, поэтому не поддерживает mongoose.Чтобы решить эту проблему, вы всегда можете выполнить сортировку в функции обратного вызова (ваш document является массивом, поэтому вы можете сортировать его по своему усмотрению), или, если вы действительно действительно хотите выполнить сортировку на стороне mongodb, посмотритена этот ответ: Монго комплексная сортировка?

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