尝试排序不是基于字段,而是从最近到之前的mongoose

时间:2018-05-05 02:04:24

标签: node.js mongodb express mongoose

我试图找出如何根据MongoDb中最近的条目对结果进行排序。

我使用Node.JS和Express作为我的API并具有以下终点:

router.route('/getbyowner/:ownerId')
    .get(function(req, res) {
        Alerts.find({ owner_id: req.params.ownerId }, function(err, alerts) {
            if (err)
                res.send(err);
            res.json(alerts);
        })
    });

在Mongoose文档中,我可以看到你将如何基于一个字段进行排序并应用asc或desc,如下所示:

// sort by "field" ascending and "test" descending
query.sort({ field: 'asc', test: -1 });

但是返回的对象数组没有我可以排序的索引字段。

如果不在特定字段上,如何在asc / desc中进行排序?

我尝试了以下操作,但这不起作用:

router.route('/getbyowner/:ownerId')
    .get(function(req, res) {
        Alerts.find.sort({ _id: -1 , owner_id: req.params.ownerId }, function(err, alerts) {
            if (err)
                res.send(err);
            res.json(alerts);
        })
    });

0 个答案:

没有答案