Mongoose:如何获取最新的收集数据?

时间:2017-11-08 17:02:04

标签: node.js mongodb angular mongoose

我正在尝试使用mongoose从我的MongoDB获取最新的收集记录。

我目前的代码如下:

ApiData.findOne(  
    (err, data) => {
        if (err) {
    //            res.status(200).send(err);
        }
        if (data) {  // Search could come back empty, so we should protect against sending nothing back
    //            res.status(200).send(data);
        console.log(data);

        } else {  // In case no kitten was found with the given query
    //            res.status(200).send("No kitten found");
        }
    }, { sort: { _id: -1 }, limit: 1 });

但这不能用于排序最新数据,只显示第一条记录。

2 个答案:

答案 0 :(得分:2)

获取最新添加的数据:

ApiData.findOne({}).sort({date: -1}).exec(function(err, data) {
    if (err) {
    //            res.status(200).send(err);
        }
        if (data) {  // Search could come back empty, so we should protect against sending nothing back
    //            res.status(200).send(data);
        console.log(data);

        } else {  // In case no kitten was found with the given query
    //            res.status(200).send("No kitten found");
        }
});

要获取所有数据,只需将findone替换为find

答案 1 :(得分:0)

我在搜索Stackoverflow后发现了我的问题。

通过删除, { sort: { _id: -1 }, limit: 1 });并将.sort.({"_id": -1})添加到结束括号的末尾来解决问题!

感谢您尝试回答我的问题!