mongodb - mongo中两个isodates之间的差异

标签 mongodb mongodb-query

如果我有两个 ISODate,例如:

Tue Sep 18 1984 00:00:00 GMT+0100 (CET) 

Sat Jun 21 2014 10:00:00 GMT+0100 (CET)

如何使用 mongo 控制台区分它们?具体是年份上的差异?

它们来自不同的集合,所以我不能为此使用聚合.. :(

最佳答案

ISODate() 只是一个标准 JavaScript Date object 的便捷包装器因此您可以使用标准的 Date 方法或自己计算差值(日期值以毫秒为单位存储):

> var date1 = ISODate("1984-09-18");
> var date2 = ISODate("2014-06-21");

> date2.getFullYear() - date1.getFullYear()
30

> var yearMS = 365 * 24 * 60 * 60 * 1000; // a year in milliseconds
> parseFloat((date2-date1)/yearMS).toFixed(2)
29.78

关于mongodb - mongo中两个isodates之间的差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23629505/

相关文章:

node.js - 在服务器自身解决的路径错误中,为值 "NaN"转换为数字失败

node.js - Mongoose 保存方法不起作用

mongodb - 左连接 mongodb laravel

Mongodb 查询用于计算所有文档中的不同值

mongodb - addToSet 用于数组中的数组

node.js - 在 Nodejs 中将值推送到 Mongodb 模型中

mongodb - 使用 --columnsHaveTypes 将数据从 csv 文件导入 Mongodb,指定特定字段为日期

python - 在 python 和 mongo 中使用多个 $regex 子句创建 $elemMatch 查询

mongodb - 读取数据库: not authorized in mongo DB错误如何解决

javascript - Mongoose 保存到 2 集合