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

时间:2019-05-13 13:23:48

标签: nedb

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

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);
      });
    });

问题1:但是,如何确保仅获得最新记录? 问题2:如何在24小时内获取所有记录?

谢谢!

1 个答案:

答案 0 :(得分:0)

nedb支持开箱即用按日期排序,只需对其进行排序并限制为1

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