У меня есть экземпляр MongoDB 3.2, работающий на Ubuntu 14.04. Установлен один узел. Прошлой ночью я провел миграции, где я побежал этот код для ~ 1400 документов в коллекции:
for r in responses: # find cursor with ~1400 documents in it
database.responses.update_one({
"_id" : r["_id"]
}, {
"$set" : {
"client_id" : client["_id"]
}
})
После миграции, некоторые из полей в моих документах реагирования в responses
коллекции перешли от DateObject
типов до Int32
метки времени представления. Некоторые из полей Int32
были изменены на Double
с. Эти поля не были обновлены в моем заявлении $set
(очевидно). Это повлияло только на небольшое подмножество курсора (~ 75 документов).
Это вызвало катастрофический отказ, поскольку наши модели ожидали, что эти поля будут иметь типы данных, которых они больше не имели. Может кто-нибудь объяснить мне, что здесь не так?
'client_id' уже имеет тип ObjectId и не был затронут одним из полей, но спасибо! –