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

标签 javascript node.js mongodb mongoose

我在 Node.js 项目中创建了一条路由,以将所有“日志”从 MongoDB 数据库呈现到网页:

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

希望对你有帮助!

关于javascript - 使用 Express 查询 MongoDB 服务器(Node.js 项目),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31599407/

相关文章:

node.js - 使用 MongoDB Stitch 作为 Xamarin 应用程序的后端

javascript - Model.query() 返回 "undefined"错误

node.js - 如何使用 ssh 使用 nodegit 克隆 git 存储库

mongodb - regex options/i 等在 MongoDB Compass 中不起作用

javascript - 类型错误 : Cannot read property 'name' of undefined mysql query

node.js - 为什么在 Mac OSX El Capitan 上 node-gyp 重建失败

Javascript:如何通过指定字符串中的字段来创建对象?

javascript - 无法评估break语句

javascript - 为什么这个 JavaScript async/await 代码没有按预期运行?

javascript - 来自angularjs中Route Param的项目详细信息