我目前正面临使用mongoexport工具导出的问题。
不可能在我的查询中从时间戳创建日期:
db.getCollection('FooBarBarFoo').find({"actKey":"foobar","dt":{$gt:new Date('1434907890000')}})
我做了一些测试:
mongo-aws-dev:SECONDARY> var testDate = new Date('1434907890000');
mongo-aws-dev:SECONDARY> testDate
ISODate("0NaN-NaN-NaNTNaN:NaN:NaNZ")
mongo-aws-dev:SECONDARY> var testDate = new ISODate('1434907890000');
mongo-aws-dev:SECONDARY> testDate
ISODate("1441-08-17T00:00:00Z")
mongo-aws-dev:SECONDARY> var testDate = new ISODate(1434907890000);
mongo-aws-dev:SECONDARY> testDate
ISODate("1441-08-17T00:00:00Z")
我们可以看到,在我的时区中与日期1434907890000
对应的以毫秒为单位的时间戳6/21/2015, 7:31:30 PM
将转换为中世纪时间。
我可能在哪里出错,以及如何在shell脚本中将时间戳传递给mongo查询?
答案 0 :(得分:5)
我测试了
Date(timestamp in string)
ISODate(timestamp in string)
ISODate(timestamp in number)
但我没有测试最后一个......正确的一个:
Date(timestamp in number)
所以正确的查询是:
db.getCollection('FooBarBarFoo').find({"actKey":"foobar","dt":{$gt:new Date(1434907890000)}})