MongoDb MapReduce与日期比较

时间:2016-04-25 14:25:44

标签: mongodb mapreduce

我在mapreduce查询中有一个map函数,我尝试比较几个日期。

让我们说文档包含一个属性为'Created'的类型为ISODate:

{
  Created: ISODate("2016-01-01T12:00:00.000+0000")
}

在我的map / reduce方法中,我通过范围传递日期:

{
   start: ISODate("2015-01-01T12:00:00.000+0000")
}

在我的地图方法中,我打印出以下内容

function() {
   print(this.Created);
   print(start);
   print(this.Created > start);
}

我会在日志中获得以下输出:

2016-04-25T16:19:04.921+0200 I -        [conn129] ISODate("2016-01-01T12:00:00.000+0000")
2016-04-25T16:19:04.922+0200 I -        [conn129] Sat Jan 01 2015 13:00:00 GMT+0100 (Vest-Europa (normaltid))
2016-04-25T16:19:04.922+0200 I -        [conn129] false

我该怎么做才能比较创建日期和开始日期?

1 个答案:

答案 0 :(得分:0)

结果是Visual Studio对我起了伎俩。

测试数据是从json文件中提取的,出于某种原因,Visual Studio选择将某些ISODate("...")值更改为"ISODate(\"...\")"个字符串。

发现并不容易,所以我想这里的教训是“不要使用visual studio来查看json文件”......