使用Mongo集合中的特殊字符

jbn*_*unn 31 mongodb

我有一个我无法丢弃的集合,我假设其名称中的" - "是一个特殊字符.在MongoDB中,逃避特殊字符的最佳方法是什么?

> db.tweets.drop();
true
Run Code Online (Sandbox Code Playgroud)

> db.tweets-old.drop();
ReferenceError: old is not defined (shell):1
Run Code Online (Sandbox Code Playgroud)

我试图用引号(单引号和双引号)和斜线来逃避,但没有任何作用.

Nie*_*est 63

以下作品:

db["tweets-old"].drop();
Run Code Online (Sandbox Code Playgroud)

它被称为方括号表示法,它允许您在属性名称中使用特殊字符.


Bla*_*ven 7

那样做:

db.getCollection("tweets-old").drop()
Run Code Online (Sandbox Code Playgroud)

这已经有一段时间了.

此外,方法调用还模仿所有官方支持的MongoDB驱动程序中的通用"获取集合"访问器方法.所以这里的建议是你已经习惯了这种方式使用它,因为"命名集合"访问器是通常的方式.