python - 存储时间序列数据时,将日期设置为 _id 是个好主意吗?

标签 python mongodb

我是 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 Doc

>>> ObjectId().generation_time

关于python - 存储时间序列数据时,将日期设置为 _id 是个好主意吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22628116/

相关文章:

python - 在 start_new_thread 之后加入所有线程

python - 使用 arcpy Polyline 对象作为字典值时形状信息丢失

mongodb - 开始使用 MongoDB 需要一些帮助

python - 具有非均匀间隔的 np.arange 或 np.linspace 的替代品

python - 使用 map 和 lambda 计算字典中的频率

python - 无法在 mac os x 上使用 python 和 opencv2 编写视频

mongodb - 使用内联结果在 Map/Reduce 之后排序

node.js - NodeJS/ Mongoose : Cast to ObjectId failed for value "..." at path "_id"

algorithm - 在 mongodb 中使用索引的运行时

node.js - Azure MongoDB find操作查询时间很慢