我有这样一个字符串:
document = '{ time : 14/09/19 16:00:00,
global : { full:190 , defects: 7 , btp: 6 , total: 202 } ,
domains : [ { domain : "A" , full:7 , defects: 2 , btp: 0 , total: 9 },
{ domain : "B" , full:0 , defects: 0 , btp: 0 , total: 0 },
{ domain : "C" , full:6 , defects: 0 , btp: 0 , total: 6 },
{ domain : "D" , full:26 , defects: 0 , btp: 2 , total: 28 },
{ domain : "E" , full:0 , defects: 0 , btp: 0 , total: 0 },
{ domain : "F" , full:4 , defects: 0 , btp: 2 , total: 6 },
{ domain : "G" , full:0 , defects: 0 , btp: 0 , total: 0 },
{ domain : "H" , full:21 , defects: 0 , btp: 1 , total: 22 },
{ domain : "I" , full:32 , defects: 0 , btp: 0 , total: 32 },
] }'
当我尝试将其插入到mongoDB集合中时,我得到以下错误:
TypeError:'str'对象不支援项目指派
我不知道如何将字符串转换为BSON,以便用它执行插入。
我看了看bson_util
模块,但没有运气。
2条答案
按热度按时间qacovj5a1#
这里的BSON部分并不重要,MongoDB驱动程序会处理这个问题,您的工作是将JSON转换为有效的python数据结构:
tyg4sfes2#
您很少需要自己直接处理BSON,这只是mongo内部用来表示数据的格式。
作为数据库的用户或者它的一个客户端,你只需要处理我们所说的
key:value
类型的对象,在python中,key:value
类对象通常是dict
对象;在将字符串插入mongo之前,需要将其转换为一个实际的dict-like-object。例如,使用
json
模块:您现在可以将
document
对象插入到集合中。