TypeError: datetime.datetime() is not JSON serializable
TypeError: datetime.datetime() is not JSON serializable
我对 MongoDB 中的时间戳有疑问。
情况是这样的:
我阅读了 json 并为它们添加了时间戳:
my_json['insertTime'] = datetime.datetime.now()
mongodb.collection.insert_one(my_json)
会产生这样的数据库:
"insertTime" : ISODate("2017-05-24T12:39:34.844Z")
在我从数据库读取它并尝试将同一个文档写入另一个 mongoDB table 之后,我收到以下错误:
TypeError: datetime.datetime(2017, 5, 24, 12, 39, 46, 671000) is not JSON serializable
我已经阅读了将日期时间转换为字符串值的解决方案,但我希望它像第一个那样采用 ISODate 格式 table。
这就是从 table A:
获取时间戳后的样子
'insertTime': datetime.datetime(2017, 5, 24, 12, 39, 46, 671000)
我应该怎么做才能将它以相同的格式(ISODate)插入第二个 table?
PS:我将数据加载到 table B 的方式如下:
tableB.insert_one(json.loads(json.dumps(docFromTableA)))
无需通过 JSON 表示即可将文档保存到 MongoDB。只是做:
tableB.insert_one(docFromTableA)
MongoDB的原生数据格式是不是JSON,是BSON,一种比JSON类型多很多的二进制结构. PyMongo 自动在 BSON 和 Python 字典之间转换 MongoDB 文档。
我对 MongoDB 中的时间戳有疑问。
情况是这样的:
我阅读了 json 并为它们添加了时间戳:
my_json['insertTime'] = datetime.datetime.now()
mongodb.collection.insert_one(my_json)
会产生这样的数据库:
"insertTime" : ISODate("2017-05-24T12:39:34.844Z")
在我从数据库读取它并尝试将同一个文档写入另一个 mongoDB table 之后,我收到以下错误:
TypeError: datetime.datetime(2017, 5, 24, 12, 39, 46, 671000) is not JSON serializable
我已经阅读了将日期时间转换为字符串值的解决方案,但我希望它像第一个那样采用 ISODate 格式 table。
这就是从 table A:
获取时间戳后的样子'insertTime': datetime.datetime(2017, 5, 24, 12, 39, 46, 671000)
我应该怎么做才能将它以相同的格式(ISODate)插入第二个 table?
PS:我将数据加载到 table B 的方式如下:
tableB.insert_one(json.loads(json.dumps(docFromTableA)))
无需通过 JSON 表示即可将文档保存到 MongoDB。只是做:
tableB.insert_one(docFromTableA)
MongoDB的原生数据格式是不是JSON,是BSON,一种比JSON类型多很多的二进制结构. PyMongo 自动在 BSON 和 Python 字典之间转换 MongoDB 文档。