我一直在使用mongo一段時間才知道(用python,mongo 2.4.4 64位,OS X 10.8.2,pymongo 2.5.2,python 2.7.2 ),我觀察到一個奇怪的行爲。InvalidDocument:無法編碼對象:ObjectId('51861bc79bb6550f2b98be23')
不能編碼對象::物件( '51861bc79bb6550f2b98be23')
... 「/用戶/ nutrina/WWW/env_pdf_admin_apache/lib目錄有時它拋出試圖將文檔插入集合時下列異常/python2.7/site-packages/pymongo/collection.py「, 第266行保存返回self.insert(to_save,manipulate,safe, check_keys,** kwargs)文件 」/ Users/nutrina/www/env_pdf_admin_apache/lib/python2.7/site-packages/pymongo/collection.py「, line 357,in insert continue_on_error,self .__ uuid_subtype),safe) InvalidD ocument:不能編碼對象: 的ObjectId( '51861bc79bb6550f2b98be23')
我不知道爲什麼會這樣。有沒有人遇到這個錯誤,或有人有一個想法可能會導致它?
更新: 我想保存對象具有以下結構:報道
{
'is_open': true, // boolean
'data': {
'user_id': ObjectId(...), // ObjectId
'user_type': 1, // Integer
}
}
錯誤的字段* USER_ID *,但我敢肯定,值是一個有效的ObjectId。這是來自另一個集合(用戶)的對象(用戶)的'_id'。大多數情況下,保存操作都能獲得相同的值。
感謝, 傑拉德
還有什麼關於你試圖保存的對象,你可以分享?它包含什麼類型的數據? – WiredPrairie
看看這裏http://stackoverflow.com/a/18414699/535962 – lovesh
我有更新問題的描述。 @lovesh:我不認爲這個問題是相關的。 – nutrina