关于使用pymongo将日期和时间插入mongo的问题

时间:2017-11-07 01:23:07

标签: python mongodb datetime pymongo

我想使用pymongo将日期和时间插入mongo。

但是,我可以插入日期时间,但不仅仅是日期或时间。

这是示例代码:

now = datetime.datetime.now()

log_date = now.date()

log_time = now.time()

self.logs ['test']。insert({'log_date_time':now,'log_date':log_date,'log_time':log_time})

显示错误:

bson.errors.InvalidDocument:无法编码对象:datetime.time(9,12,39,535769)

事实上,我不知道如何在mongo shell中插入日期或时间。

我知道插入日期时间是新的日期(),但我只想提交日期或时间。

1 个答案:

答案 0 :(得分:0)

您正在体验已定义的行为。 MongoDB具有单个日期时间类型(日期时间)。没有单独的,离散的日期或时间类型。

解决方法:很多,但值得深思: 存储日期非常简单:假设Z时间,使用00:00:00的时间分量,并忽略检索时的时间偏移。 只存储时间比较简单但可行:建立一个像纪元一样的基准日期,只改变时间组件,并在检索时忽略日期组件。