私はmongoをしばらく使用しています(mongo 2.4.4 64ビット、OS X 10.8.2、pymongo 2.5.2、python 2.7.2 )、私は奇妙な行動を観察した。InvalidDocument:オブジェクトをエンコードできません:ObjectId( '51861bc79bb6550f2b98be23')
オブジェクトをエンコードすることはできません:時にはそれがコレクションに文書を挿入しようとするときは、次の例外がスローされたObjectId( '51861bc79bb6550f2b98be23')
... 「/ユーザ/ nutrina/WWW/env_pdf_admin_apache/libに"/ users/nutrina/www/fonts2.7 /site-packages/pymongo/collection.py"、 行266、保存するself.insert(to_save、操作、安全、 check_keys、** kwargs)ファイル " (継続353、insert_in_error、self .__ uuid_subtype)、safe) InvalidD(env_pdf_admin_apache/lib/python2.7/site-packages/pymongo/collection.py "、 行357) ]で文書:オブジェクトをエンコードすることはできません: の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