首页 > 解决方案 > 如何将 Date 对象传递给 mongo 数据库,它在传递 mongo 数据库后转换为 Int64。如何使用 pymongo 做到这一点

问题描述

 created_time = dt.datetime.fromtimestamp(os.stat(pathName).st_ctime) # Gate created date time   
 tempDict={"image":sourceFileList[i],"created_time":created_time }

我使用该代码将 Date 对象传递给 mongo 数据库,但它传递给 Int64。如何解决这个问题。 将日期更改为 Int64

标签: pythonmongodbdateintpymongo

解决方案


如果您的变量是日期时间实例,那么它将被保存为 ISODate。

from pymongo import MongoClient
import datetime as dt
import os
db = MongoClient()['testdatabase']
random_file = 'c:\\windows\system.ini'
created_time = dt.datetime.fromtimestamp(os.stat(random_file).st_ctime) # Gate created date time
db.testcollection.insert_one({'image':'image' ,'created_time': created_time })

在 mongo shell 中给出:

> db.testcollection.findOne()
{
        "_id" : ObjectId("5da469d44cf839072f40c325"),
        "image" : "image",
        "created_time" : ISODate("2016-07-16T12:47:50.561Z")
}

推荐阅读