使用Express查询MongoDB服务器(Node.js项目)



我在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是要排序的字段名。

希望有帮助!

最新更新