我一直在使用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