从 MongoExport 中的 unix 时间戳查询 ISODate
querying ISODate from unix timestamp in MongoExport
我目前在使用工具 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")
我们可以看到我所在时区的日期 6/21/2015, 7:31:30 PM
对应的毫秒时间戳 1434907890000
被转换为一些中世纪时间。
我可能在哪里出错以及如何在 shell 脚本中将时间戳传递给 mongo 查询?
抱歉,我刚找到问题
我测试了
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)}})
我目前在使用工具 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")
我们可以看到我所在时区的日期 6/21/2015, 7:31:30 PM
对应的毫秒时间戳 1434907890000
被转换为一些中世纪时间。
我可能在哪里出错以及如何在 shell 脚本中将时间戳传递给 mongo 查询?
抱歉,我刚找到问题
我测试了
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)}})