5

MongoDB シェルを使用してドキュメントを削除しようとしていますが、何らかの理由で「無効なオブジェクト ID: 長さ」で失敗し続けます。

クエリ:

db.collections.remove( { _id : ObjectId("FF125DF6-E977-404A-9E8C-600CDAFEFF53" )} );

エラー:

月 12 月 24 日 03:11:15 アサーション: 10448: 無効なオブジェクト ID:length 0x6073f1 0x5d1aa9 0x5ac3f1 0x5b84f4 0x6aa5ac 0x6aaec8 0x69e4e7 0x6aa13f 0x668e46 0x668ec2 0x66a2ce 0x5cbcc4 0x4a44a6 0x4a67e6 0x7f2554e2fcdd 0x49f669 mongo(_ZN5mongo15printStackTraceERSo+0x21) [0x6073f1] mongo(_ZN5mongo11msgassertedEiPKc+0x99) [0x5d1aa9] mongo() [0x5ac3f1] mongo(_ZN5mongo21object_id_constructorEP9JSContextP8JSObjectjPlS4_+0x2b4) [0x5b84f4] mongo(js_Invoke+0x40c) [0x6aa5ac] mongo(js_InvokeConstructor+0x108) [0x6aaec8] mongo(js_Interpret+0x37c7) [0x69e4e7] mongo(js_Execute+0x36f) [0x6aa13f] mongo(JS_EvaluateUCScriptForPrincipals+0x66) [0x668e46] mongo(JS_EvaluateUCScript+0x22 ) [0x668ec2] mongo(JS_EvaluateScript+0x6e) [0x66a2ce] mongo(_ZN5mongo7SMScope4execERKNS_10StringDataERKSsbbbi+0x144) [0x5cbcc4] mongo(_Z5_mainiPPc+0x2156) [0x4a44a6] mongo(main+0x26) [0x4a44a6] mongo(main+0x26) [0x4alib/alib.6]6(__libc_start_main+0xfd) [0x7f2554e2fcdd] mongo(__gxx_personality_v0+0x2a1) [0x49f669] Mon Dec 24 03:11:15 エラー: 無効なオブジェクト ID: 長さ (シェル):1

走ってみた

db.repairDatabase();

しかし、何も変更されていません。確認したところ、既知の問題であることがわかりました。これに対する回避策はありますか?

編集

これは、データベースにあるドキュメントです。

{

"_id": "FF125DF6-E977-404A-9E8C-600CDAFEFF53",

"データ": {

   "files": [
   ],

   "categories": [
  ],

   "trash": [
   ]
 }

}

ありがとう!

4

1 に答える 1

5

ObjectId("FF125DF6-E977-404A-9E8C-600CDAFEFF53")無効です。ObjectIdは 12 バイトの BSON タイプであり、内部に「-」を含めることはできません。この ID を取得したソースを確認してください。

于 2012-12-24T08:31:18.870 に答える