2012-06-07 98 views
4

在我们的数据库中,它使用NumberLong来存储时间戳。问题是我可以使用哪个javascript函数在mongodb shell中对时间戳进行操作?Mongodb长时间运行时间戳

例如,查找时间NumberLong(1330828762699)的第二天的毫秒数和当天的开始时间。

+1

你可以使用Date对象吗? – alex

+0

你的意思是'var date = new Date(timestamp)'并且对日期对象进行操作吗?我正在考虑它,只是想看看是否有其他快捷方式去 –

+0

确切地说。我已经使用了MongoDB已经有一段时间了,但是如果你可以使用'Date'对象,我会使用它。 – alex

回答

2

1)将mongo shell中的“new Date()”提升为ISODate(),以便您可以使用该方法;

> new Date(1330828762699) 
ISODate("2012-03-04T02:39:22.699Z") 
> new Date(1330828762699).getMilliseconds() 
699 

2)关于文档上的时间戳,你知道有一个内置的创建日期,你可以使用吗?

> ObjectId("5020317b92c3d21cb851fa1a").getTimestamp() 
ISODate("2012-08-06T21:04:59Z") 

3)我会看看2.2集合框架来操纵你的数据。它具有一些有用的日期函数,您可以使用它们对数据进行基于时间的有用查询;

http://docs.mongodb.org/manual/reference/aggregation/#date-operators