Идентификатор объекта на mLab MongoDB против локальной установки MongoDB - PullRequest
0 голосов
/ 23 сентября 2018

Я использую MongoDB на mLab последние несколько недель и решил установить его локально.Но ObjectId создается по-другому при локальной установке, и он нарушает мой код.

Local MongoDB, я получаю эту ошибку:

TypeError: Object of type ObjectId is not JSON serializable

, но я не получаю эту ошибку при использованииmLab

На mLab ObjectID имеет вид:

{
   "_id": {
       "$oid": "5ba0c426fb6fc072da03a0cf"
   },
"another field" : "another field value"
}

Локально это выглядит следующим образом:

_id: ObjectId("5ba6a5f080ae4c2d943deb70")
another field : another field value

Мне кажется, что я не могу jsonify мой результат запроса базы данных pymongo-курсора, потому чтоObjectId

1 Ответ

0 голосов
/ 23 сентября 2018

Это две части:

  1. Разница между объектными идентификаторами, создаваемыми локально и на mLab, заключается в том, что MongoLab использует Strict MongoDB Extended JSON .
  2. Для сериализации вашего локального монго-документа вы можете использовать json_util, предоставленный pymongo
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...