Я пытаюсь сохранить объект в mongodb, используя pymongo.Я вызываю API, который дает мне и объект, и, перебирая объект, я могу получить поля и значения.Но проблема в том, что могут быть некоторые поля, значение которых также является объектом, и когда я пытался сохранить такие файлы в mongodb, я получаю ошибки.
Ошибка - документ должен быть экземпляром dict, bson.son.SON, bson.raw_bson.RawBSONDocument или тип, который наследуется от коллекций. Изменяемое отображение
models.py
class UnusedResources(Document):
field1 = fields.StringField(max_length=20)
field2 = fields.DictField()
pythonоболочка
object = API #calling api
d = dict()
d['field1'] = None
d['field2'] = object.__dict__ #converted all fields of object into dict and stored in d['field2']
client = MongoClient('127.0.0.1', 27017)
db = client.CESdatabase
collection = db.registration_unusedresources
collection.insert_one(d)
поля внутри объекта
{
'additional_properties': {},
'id': '/subscriptions/XXX/resourceGroups/auth-user-api/providers/Microsoft.Network/loadBalancers/XXX',
'name': 'XXX',
'sku': <azure.mgmt.network.v2018_11_01.models.load_balancer_sku_py3.LoadBalancerSku object at 0x0000000004E05D30>,
'probes': [<azure.mgmt.network.v2018_11_01.models.probe_py3.Probe object at 0x0000000004E05DA0>],
'inbound_nat_rules': [],
'inbound_nat_pools': [],
'outbound_rules': None
}