我在 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/