我在Node.js项目中创建了一条路由,将MongoDB数据库中的所有"日志"渲染到Web页面:
app.get('/api/logs', function (req, res) {
Log.find( function (err, logs) {
res.json(logs);
});
});
我想修改这个查询:(1)将响应限制为10个日志,(2)按时间倒序显示日志(从最近的到最近的)。如果我尝试下面的代码,什么都不会呈现到我的页面,我的Node服务器给出以下错误:错误:sort()只需要1个参数。
app.get('/api/logs', function (req, res) {
Log.find().limit(10).sort({$natural:-1}, function(err, logs){
res.json(logs);
});
});
如果我将上面的代码片段直接输入到我的Monog控制台作为单个查询:Log.find().limit(10).sort({$natural:-1})是否有一种不同的方式来编写这个来获取我想要的信息?谢谢你的建议!
效果很好:
app.get('/api/logs', function (req, res) {
Log.find().limit(10).sort(-fieldToSort).exec(function(err, logs){
res.send(logs)
})
});
-fieldToSort按您要求的降序对字段进行排序。fieldToSort是要排序的字段名。
希望有帮助!