当集合名称带有特殊字符时,无法从mongodb删除集合

当集合名称带有特殊字符时,无法从shell命令行删除集合,比如:

db.my-login.drop()

报出错误:

2022-12-06T11:20:07.518+0000 E QUERY    [thread1] ReferenceError: login is not defined :

问题不在于删除集合。问题在于访问集合。因此,您将无法从外壳程序对其进行更新,查找或执行任何操作。正如mongodb JIRA中指出的那样,当集合中包含_,-或之类的字符时,这是一个错误,所以集合命名时最好不要有特殊字符。

尽管如此,这种类型的集合名称还是可以接受的,但是会在shell中引起问题。

可以使用以下命令在shell中将其删除:

db.getCollection("my-login").drop()

或者

db['my-login'].drop()

 

posted @ 2022-12-08 21:17  joshua317  阅读(146)  评论(0编辑  收藏  举报