gpt4 book ai didi

node.js - Node js 按时间戳检索最后插入的记录

转载 作者:太空宇宙 更新时间:2023-11-04 00:02:03 24 4
gpt4 key购买 nike

我使用 Node JS 和 Express 以及 Mongo DB 开发了一个休息服务。我开发了一个 POST 服务,使用 or 运算符进行特定查询,并且记录输出不止一个。我想只检索时间戳字段的最后一个插入这是我的代码

router.post('/sensor/storico', VerifyToken, function(req,res) {
Sensor.find({$or:[{"machineIdentifier": req.body.machineIdentifier}, {"tire": req.body.tire}]}, (err, sensors) => {
if (err) {
console.log(err);
return res.status(400).send({ status: 'ko', data: {msg: err.message }});
}
res.status(200).send({status: 'ok', data: {msg: 'Sensor', version: sensors}});
});
});

我如何过滤结果并仅检索按时间戳字段插入的最后一条记录?

谢谢

最佳答案

尝试使用如下:

首先,您可以使用 sort() 对结果进行排序方法。 sort() 方法对结果集中的文档进行排序,然后您可以使用 limit()方法指定游标将返回的最大文档数。

router.post('/sensor/storico', VerifyToken, function(req,res) {
Sensor.find({$or:[{"machineIdentifier": req.body.machineIdentifier}, {"tire": req.body.tire}]}).sort({createdAt: -1}).limit(1).exec(function(err, sensors){
if (err) {
console.log(err);
return res.status(400).send({ status: 'ko', data: {msg: err.message }});
}
res.status(200).send({status: 'ok', data: {msg: 'Sensor', version: sensors}});
});
});

关于node.js - Node js 按时间戳检索最后插入的记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54206805/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com