2014-07-08 35 views
0

我supprised根據mongodb.org網站ISODate("2012-10-15T21:26:17Z")對象ID .getTimestamp()的MongoDB

所以我的問題是,如果這個對象ID是它的MongoID學習今晚ObjectId("507c7f79bcf86cd7994f6c0e").getTimestamp()回來了?或者他們是兩個不同的東西。

我問的原因是當用戶發佈狀態到我們的網站時,我們使用PHP中的time()函數來存儲用戶發佈狀態的時間,如果我們是這樣的話,它會爲我們節省一點代碼能夠使用mongoID獲取狀態上傳的時間和日期。

我對其他人的想法感興趣,或者我正確理解這一點。

如果我正確理解這個問題,那麼有人請給我一個PHP例子,說明如何讓MongoID輸出日期和時間?

感謝

回答

1

所以我的問題是,如果這個對象ID是它的MongoID?

Mongodb通過其_id字段標識文檔。如果您在插入時未提供_id字段,則mongodb服務器將爲該文檔生成ObjectId(在其_id字段中)。在php中,這些值將被轉換爲MongoId類。

...如果我們能夠使用mongoID獲取狀態上傳的時間和日期。

也許吧。 ObjectId s是constructed,它使用一個4字節的值來表示自Unix紀元以來的秒數。如果您在插入時不提供_id字段(或者您提供的值爲ObjectId,由您的客戶端應用程序生成,則使用MongoDB's supplied api),那麼可以使用ObjectId。但是,您並不是被迫在每個_id字段(或者全部)使用ObjectId。另外(因爲它們以4字節表示),它們受year 2038 problem...