How to convert string to BSON?

I have a line like this:

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 },
               ] }'

When I try to insert this into the mongoDB collection, I get the following error:

TypeError: 'str' object does not support element assignment

I do not know how to convert a string to BSON to perform an insert with it.

I looked in the module bson_util, but no luck.

+4
source share
2 answers

Not the BSON part is important here. The MongoDB driver will take care of this. Your task is to convert JSON into a valid python data structure:

import json

data = json.loads(document)

collection.insert(data);
+6
source

You rarely have to deal directly with BSON. This is just the format mongo uses to represent data internally.

, key:value, . python key:value dict; . dict, mongo.

json:

>>> import json
>>> document = json.loads('{ time : 14/09/19 16:00:00...')

document .

+1

All Articles