无法在名称中有两个破折号的mongodb中删除集合
我有一个使用mongoimport工具从文件创建的集合。问题是我的命令有错误。现在我得到了一个包含两个破折号的集合。 mycollection——文件(不要忘记破折号前的空格)现在mongodb不允许我删除该集合。db.mycollection--file.drop()它将获取SyntaxError:意外标识符。无法在名称中有两个破折号的mongodb中删除集合,mongodb,Mongodb,我有一个使用mongoimport工具从文件创建的集合。问题是我的命令有错误。现在我得到了一个包含两个破折号的集合。 mycollection——文件(不要忘记破折号前的空格)现在mongodb不允许我删除该集合。db.mycollection--file.drop()它将获取SyntaxError:意外标识符。 不仅仅是drop,find或无论如何与集合交互都会出现语法错误。但如果您确实显示了收藏,它确实会列在数据库中。我相信这对您很有用: db["mycollection--file"].d
不仅仅是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(复制并粘贴)并将错误消息添加到你的问题中吗?很抱歉,我从你的查询中漏掉了一件重要的事情。双引号。它很有效。谢谢你的解决方案。