我有一個在Ubuntu 14.04上運行的MongoDB 3.2實例。單節點設置。昨天晚上,我進行了遷移,我在集合中跑〜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
s。這些字段沒有在我的$set
聲明中更新(顯然)。 這隻影響遊標的一小部分(〜75個文檔)。
這造成了災難性的失敗,因爲我們的模型預計這些領域有他們不再擁有的數據類型。有人能向我解釋這裏出了什麼問題嗎?
'client_id'已經是ObjectId類型,並不是受影響的字段之一,但是謝謝! –