我有一根这样的绳子:

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,以便用它执行insert。
我查看了bson_util模块,但没有运气。

最佳答案

这里重要的不是bson部分。MongoDB驱动程序会处理这个问题。您的工作是将json转换为有效的python数据结构:

import json

data = json.loads(document)

collection.insert(data);

09-15 12:20