1. ホーム
  2. node.js

[解決済み】Mongooseで、日付でソートするにはどうしたらいいですか?(node.js)

2022-02-21 21:57:59

質問

Mongooseでこのクエリーを実行するとします。

    Room.find({}, (err,docs) => {
    
    }).sort({date:-1}); 

これはうまくいきません!

解決方法は?

ソート は、リリースを重ねるごとに進化しており、これらの回答のいくつかはもはや有効ではありません。現在 4.1.x リリースのMongooseでは date フィールドは、以下のいずれかの方法で行うことができます。

    Room.find({}).sort('-date').exec((err, docs) => { ... });
    Room.find({}).sort({date: -1}).exec((err, docs) => { ... });
    Room.find({}).sort({date: 'desc'}).exec((err, docs) => { ... });
    Room.find({}).sort({date: 'descending'}).exec((err, docs) => { ... });
    Room.find({}).sort([['date', -1]]).exec((err, docs) => { ... });
    Room.find({}, null, {sort: '-date'}, (err, docs) => { ... });
    Room.find({}, null, {sort: {date: -1}}, (err, docs) => { ... });

昇順に並べる場合は - のプレフィックスを付けるか、あるいは 1 , asc または ascending .