簡體   English   中英

存儲時間序列數據時,以_id作為日期是一個好主意嗎?

[英]Is it a good idea to date as _id when storing time-series data?

我是MongoDB的新手。 我正在編寫一個Python腳本來抓取和更新股票報價數據。 該腳本將運行一次,以刮取並構建最新的數據庫,然后每天運行以進行更新。

經過一些研究,我認為MongoDb符合要求。 目前,我將日期設置為“ _id”,因為我想確保其唯一性(因為更新也會從包含前幾天數據的頁面中抓取到)。

這是一個潛在的災難性想法嗎? 如果是這樣,我應該怎么做? 謝謝

不,這不是一個好主意,因為默認情況下,MongoDB已將時間戳保存在_id中:

您可以使用以下代碼檢索_id數據:

date = new Date( parseInt( _id.toString().substring(0,8), 16 ) * 1000 )

我會使用自動生成的MongoDB _id

編輯:(從注釋中提取)如果您使用的是PyMongo,則objectid python對象具有屬性generation_time ,可以從中提取相關的datetime.datetime實例。 PyMongo API文檔

>>> ObjectId().generation_time

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM