Я не нахожу документацию по модификатору сортировки. Единственное понимание - в модульных тестах: spec.lib.query.js # L12
writer.limit(5).sort(['test', 1]).group('name')
Но это не работает для меня:
Post.find().sort(['updatedAt', 1]);
Я не нахожу документацию по модификатору сортировки. Единственное понимание - в модульных тестах: spec.lib.query.js # L12
writer.limit(5).sort(['test', 1]).group('name')
Но это не работает для меня:
Post.find().sort(['updatedAt', 1]);
Ответы:
В Mongoose сортировку можно выполнить любым из следующих способов:
источник
{sort: [['date', 1]]}
не будет работать, но.sort([['date', -1]])
будет работать. Смотрите этот ответ: stackoverflow.com/a/15081087/404699Вот так я и начал работать в mongoose 2.3.0 :)
источник
Array
для выбора полей - это должно бытьString
илиObject
null
в этом разделе (по крайней мере, в 3.8)По состоянию на Mongoose 3.8.x:
Куда:
criteria
может бытьasc
,desc
,ascending
,descending
,1
, или-1
источник
ОБНОВИТЬ:
Пытаться:
источник
.sort("updatedAt", -1)
..sort({updatedAt: -1})
или.sort('-updatedAt')
.exec(function (posts) {…
вместоall
all() must be used after where() when called with these arguments
в Mongoose 4.6.5 ...Мангуст v5.4.3
сортировать по возрастанию
сортировать по убыванию
Для деталей: https://mongoosejs.com/docs/api.html#query_Query-sort
источник
Обновить
Лучше написать, если это сбивает с толку людей; проверить поиск документов и как работают запросы в мангусте мангуста. Если вы хотите использовать свободный API, вы можете получить объект запроса, не предоставляя обратный вызов
find()
метода, в противном случае вы можете указать параметры, как я обрисую ниже.оригинал
Для данного
model
объекта, согласно документации по Model , он может работать следующим образом2.4.1
:Ожидается
search spec
объект, но вы можете передатьnull
или пустой объект.Второй параметр - это список полей в виде массива строк, поэтому вы должны указать
['field','field2']
илиnull
.Третий параметр - это параметры объекта, которые включают в себя возможность сортировки набора результатов. Вы бы использовали
{ sort: { field: direction } }
гдеfield
это строка имя поляtest
(в вашем случае) иdirection
это число, где1
возрастает и-1
убывает.Последний параметр param (
callback
) - это функция обратного вызова, которая получает коллекцию документов, возвращаемых запросом.Model.find()
Реализации (в этой версии) делают скользящее распределение свойств для обработки дополнительного Params (что смущало меня!):НТН
источник
Так я начал работать в mongoose.js 2.0.4
источник
Связывание с интерфейсом построителя запросов в Mongoose 4.
Смотрите документы для получения дополнительной информации о запросах.
источник
в текущей версии mongoose (1.6.0), если вы хотите отсортировать только по одному столбцу, вы должны удалить массив и передать объект непосредственно в функцию sort ():
Мне понадобилось некоторое время, чтобы получить это право :(
источник
Вывод
источник
Вот как мне удалось отсортировать и заполнить:
источник
источник
Другие работали на меня, но это сделало:
источник
источник
Это то, что я сделал, работает отлично.
источник
Начиная с 4.x методы сортировки были изменены. Если вы используете> 4.x. Попробуйте воспользоваться любым из следующих.
источник
источник