使用 Mongo 集合中的特殊字符
Posted
技术标签:
【中文标题】使用 Mongo 集合中的特殊字符【英文标题】:Working with special characters in a Mongo collection 【发布时间】:2012-03-05 16:11:52 【问题描述】:我有一个无法删除的集合,我假设其名称中的“-”是一个特殊字符。在 MongoDB 中,转义特殊字符的最佳方法是什么?
> db.tweets.drop();
true
但是
> db.tweets-old.drop();
ReferenceError: old is not defined (shell):1
我尝试用引号(单引号和双引号)和斜杠转义,但没有任何效果。
【问题讨论】:
【参考方案1】:以下作品:
db["tweets-old"].drop();
它被称为square bracket notation,它允许您在属性名称中使用特殊字符。
【讨论】:
:).. 我已经放弃并更改了集合的名称,但是是的,这行得通! 注意,根据我使用 Mongo 4.4 的经验,如果集合尚不存在,则不能使用此表示法。如果没有或者您不确定,请按照下面@BlakesSeven 的回答 - 即 db.getCollection("tweets-old")【参考方案2】:也是这样:
db.getCollection("tweets-old").drop()
这已经有一段时间了。
此外,方法调用还模仿了所有官方支持的 MongoDB 驱动程序中的通用“获取集合”访问器方法。所以这里的建议是你习惯这种方式使用它,因为“命名集合”访问器通常是这样完成的。
【讨论】:
这非常有用,因为尽管引擎确实支持括号符号,但括号符号对我来说还是会引发语法错误。谢谢!以上是关于使用 Mongo 集合中的特殊字符的主要内容,如果未能解决你的问题,请参考以下文章