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

Doo*_*ana 2 mongodb

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

Joh*_*one 8

我相信这对你有用:

db["mycollection--file"].drop()
Run Code Online (Sandbox Code Playgroud)

带引号语法的方括号对于名称中具有干扰普通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
Run Code Online (Sandbox Code Playgroud)