mongoose:找到最新的文件

Loo*_*urr 2 javascript mongoose mongodb node.js

我有mongoose架构,它有一个day属性

Math.floor((new Date()).getTime() / (24 * 3600 * 1000))
Run Code Online (Sandbox Code Playgroud)

我想找到输入的最后一天的数据所以说今天是16085我想找到输入的最后一天.或者另一种说法是这样的.什么是一个文档day属性小于16085但大于其他所有文件,其中day也小于16085.

或另一种方式

什么是day属性少于的所有文档集的最大元素16085

然后迭代我的所有文档,我怎么能这样做?

Joh*_*yHK 8

在shell中它将是:

db.test.find({day: {$lt: 16085}}).sort({day: -1}).limit(1)
Run Code Online (Sandbox Code Playgroud)

找到所有day小于16085 的文档,day按降序排序,然后取第一个.

在Mongoose中它会是这样的:

MyModel.find({day: {$lt: 16085}}).sort({day: -1}).limit(1).exec((err, docs) => { ... });
Run Code Online (Sandbox Code Playgroud)