使用mongodb时间戳缓存标头

Caching header with mongodb timestamp

本文关键字:缓存 时间戳 mongodb 使用      更新时间:2023-09-26

在测试使用mongodb作为数据存储的缓存时发现了这个问题。最后修改的日期是正确的,但根据其规范,它不包括毫秒,因此当节点JS控制器试图比较它们时,它们是不同的:

Fri Feb 27 2015 09:15:00 GMT+0000 (GMT) - Mongo DB date
Fri Feb 27 2015 09:15:00 GMT+0000 (GMT) - if-modified-since

控制器值:

1425028500987 - Mongo DB date
1425028500000 - if-modified-since

正如您所看到的,mongodb包括毫秒。有人有一个很好的方法来清理日期以重置毫秒吗?

谢谢。

J

这似乎完成了任务:

 var reqModDate = new Date(req.header(IF_MODIFIED_SINCE));
 var lastModDate = new Date(updated_at);
 lastModDate.setMilliseconds('000');
// if-modified-since header is only good to the second while mongo is to the millisecond
if (reqModDate.getTime() >= lastModDate.getTime()) {