无法通过命令行删除集合,
集合是可用的,我的 PHP 脚本正在访问它(进行选择|更新)。
但是当我使用以下命令时:
db._registration.drop()
它给我一个错误:
Date, JS Error: TypeErrorL db._registration has no properties (shell): 1
无法通过命令行删除集合,
集合是可用的,我的 PHP 脚本正在访问它(进行选择|更新)。
但是当我使用以下命令时:
db._registration.drop()
它给我一个错误:
Date, JS Error: TypeErrorL db._registration has no properties (shell): 1
问题不在于删除集合,而在于访问集合。因此,您将无法从shell中更新、查找或执行任何操作。正如在mongodb JIRA中指出的那样,当集合具有像_
、-
或这样的字符时,这是一个错误。
尽管这种类型的集合名称是可以接受的,但它会在shell中引起问题。
您可以使用以下命令在shell中删除它:
db.getCollection("_registration").drop()
或者这个
db['my-collection'].drop()
但我更愿意重新命名它(当然如果可能的话,而且不会导致很多修改)。
db.mycollection-test.drop()
) - Shaun Scovildb.mycollection-test
, 因为它会被识别为将db.mycollection
减去test
。 - MatiK你也可以使用:
db["_registration"].drop()
在 JavaScript 中也适用的语法。
由于某些原因,双引号“_registration”对我无效..但单引号'_registration'有效
db.getCollection("_registration")
是什么意思?我认为这可能是JS类中的__call
存在bug的原因。 - Sammaye