无法在名称中使用两个短划线删除mongodb中的集合

时间:2014-07-30 15:43:45

标签: mongodb

我有一个我使用文件中的mongoimport工具创建的集合。问题是我的命令中有一个拼写错误。现在我结束了一个有两个破折号的集合。 mycollection - 文件(不要忘记破折号前的空格)现在mongodb不会让我放弃收藏。 db.mycollection - file.drop()它将获得SyntaxError:Unexpected Identifier。 它不仅仅是drop但是找到或者无论如何与集合交互都会得到语法错误。但如果你确实显示了集合,它确实会在数据库中列出。

1 个答案:

答案 0 :(得分:7)

我相信这对你有用:

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