Mongoose; сортировать, чтобы первая запись отображалась первой.

Charles Maddock спросил: 10 мая 2018 в 04:01 в: sorting

Код внизу принимает идентификатор пользователя и находит категории, на которые подписался этот пользователь.

На данный момент я отправляю категории, отсортированные после дата их создания. Первая категория, которую я создал, и первая категория, которую я хочу отправить в массиве категорий, это "все".

Мне было интересно, есть ли способ найти категорию с помощью categoryName, то есть "все", и сначала отправьте его.

Это мой код:

const userItemList = async ({userId})=> {
const user = await User.findOne({ _id: userId })
return Category.find({ categoryName: { $in: user.addedCategories }})
    .sort([['createdAt', 1]])
}

1 ответ

Есть решение
Tamas Szoke ответил: 10 мая 2018 в 04:23

Отсортируйте результат по алфавиту с помощью categoryName:

const userItemList = async ({userId})=> {
const user = await User.findOne({ _id: userId })
return Category.find({ categoryName: { $in: user.addedCategories }})
    .sort([['categoryName', 1]])
}

Или просто используйте:

Category.find({ categoryName: 'all'}).sort([['createdAt', 1]])

Дополнительное видео по вопросу: Mongoose; сортировать, чтобы первая запись отображалась первой.

Bandits Of Selous [Mongoose Documentary] | Wild Things

Основы Mongoose