如何按日期对查找查询进行排序?

How to sort find query by date?

我正在使用此查询插入数据:

database.insert({ postedAt: new Date() }, (error: any, doc: any) => {
      if (error) {
        console.log ('Error inserting record in the database: ', error);
      } else {
        console.log('Document: ', doc);
      }
    });

这存储在数据库中:

{"postedAt":{"$$date":1557753437242},"_id":"PJL2N6hfkvKnTTRK"}

然后我想查找按最新输入排序的数据以首先显示:

    this.database.find({}).exec(function(err: any, docs: any) {  
      docs.forEach(function(d: any) {
          console.log('Found user:', d);
      });
    });

问题一:但是如何保证只获取到最新的记录呢? 问题二:如何获取24小时内的所有记录?

谢谢!

nedb支持开箱即用按日期排序,只需排序并限制1

db.find({}).sort({postedAt: -1}).limit(1).exec((err, docs)=>{
    console.log(docs[0]);
})