无法在名称中有两个破折号的mongodb中删除集合

无法在名称中有两个破折号的mongodb中删除集合,mongodb,Mongodb,我有一个使用mongoimport工具从文件创建的集合。问题是我的命令有错误。现在我得到了一个包含两个破折号的集合。 mycollection——文件(不要忘记破折号前的空格)现在mongodb不允许我删除该集合。db.mycollection--file.drop()它将获取SyntaxError:意外标识符。 不仅仅是drop,find或无论如何与集合交互都会出现语法错误。但如果您确实显示了收藏,它确实会列在数据库中。我相信这对您很有用: db["mycollection--file"].d

我有一个使用mongoimport工具从文件创建的集合。问题是我的命令有错误。现在我得到了一个包含两个破折号的集合。 mycollection——文件(不要忘记破折号前的空格)现在mongodb不允许我删除该集合。db.mycollection--file.drop()它将获取SyntaxError:意外标识符。
不仅仅是drop,find或无论如何与集合交互都会出现语法错误。但如果您确实显示了收藏,它确实会列在数据库中。

我相信这对您很有用:

db["mycollection--file"].drop()
带引号的方括号语法对于名称中包含干扰正常shell命令的字符的集合名称非常有用

更新:

我在自己的mongodb数据库中添加、查询并删除了此集合名称:

 var x = {first:1}
 db["mycollection--file"].save(x)
WriteResult({
    "nMatched" : 0,
    "nUpserted" : 1,
    "nModified" : 0,
    "_id" : ObjectId("53d96289aa812bcf293121df")
})
  db["mycollection--file"].find()
{ "_id" : ObjectId("53d96289aa812bcf293121df"), "first" : 1 }
  db["mycollection--file"].drop()
true

我尝试了您的解决方案并获得SyntaxError:意外标识符。我甚至还加了一句。在db查看是否是这种情况后,我也得到了SyntaxError。嗯,奇怪的是,我一直得到意外的标记[你能将你的命令完全添加为run(复制并粘贴)并将错误消息添加到你的问题中吗?很抱歉,我从你的查询中漏掉了一件重要的事情。双引号。它很有效。谢谢你的解决方案。