2012-06-07 130 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