无法从mongodb删除集合

22 mongodb

无法从shell中删除集合,

集合可用的东西和我的php脚本正在访问它(选择|更新)

但是当我使用时:

db._registration.drop()
Run Code Online (Sandbox Code Playgroud)

它给了我一个错误:

Date, JS Error: TypeErrorL db._registration has no properties (shell): 1
Run Code Online (Sandbox Code Playgroud)

Sal*_*ali 49

问题不在于删除集合.问题在于访问集合.因此,您无法从shell更新,查找或执行任何操作.正如有人指出的MongoDB的JIRA,这是一个错误,当一个集合有相同的符号_,-.

然而,这种类型的集合名称是可以接受的,但它会导致shell中的问题.

您可以使用以下命令在shell中删除它:

db.getCollection("_registration").drop()
Run Code Online (Sandbox Code Playgroud)

但我宁愿重命名它(当然,如果可能的话,最终不会有很多变化).

  • 你不能在JS中写`db.mycollection-test`.它将被认为是减去`db.mycollection`减去`test`. (2认同)