mongodb删除失败“无效对象ID”

时间:2012-12-24 08:29:33

标签: shell mongodb guid

我正在尝试使用MongoDB shell删除文档,但由于某种原因,它一直在“无效对象id:length”上失败

查询

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

错误

  

Mon Dec 24 03:11:15断言:10448:无效的对象id:长度   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]   蒙戈(_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]   蒙戈(_ZN5mongo7SMScope4execERKNS_10StringDataERKSsbbbi +量0x144)   [0x5cbcc4] mongo(_Z5_mainiPPc + 0x2156)[0x4a44a6] mongo(main + 0x26)   [0x4a67e6] /lib64/libc.so.6(__libc_start_main+0xfd)[0x7f2554e2fcdd]   mongo(__ gxx_personality_v0 + 0x2a1)[0x49f669]周一12月24日03:11:15   错误:无效的对象ID:length(shell):1

我试过了

db.repairDatabase();

但没有改变。 从检查周围我发现它是一个已知的问题,是否有解决方法?

修改

这是db中的文档:

  

{

     

“_ id”:“FF125DF6-E977-404A-9E8C-600CDAFEFF53”,

     

“数据”:{

   "files": [
   ],

   "categories": [
  ],

   "trash": [
   ]
 }
     

}

谢谢!

1 个答案:

答案 0 :(得分:5)

ObjectId("FF125DF6-E977-404A-9E8C-600CDAFEFF53")无效。 ObjectId是12字节的BSON类型,内部不能有' - '。检查获得此ID的来源。