【问题标题】:how to create database in mongodb using MongoVUE tool如何使用 MongoVUE 工具在 mongodb 中创建数据库
【发布时间】:2011-03-17 08:55:00
【问题描述】:

我必须使用 mongoVUE 工具将数据库创建为名称“personal_connections”。

但我收到如下应用程序错误消息

“数据库名称只能包含字母数字字符,请更正并重试”

您对此有任何想法吗..我可以不为我的应用程序创建带有“_”字符的数据库吗?

感谢您提前回复。

Javaamtho

【问题讨论】:

  • 在最新版本的 mongovue(0.9.7.2) 中,带有“下划线”的错误已针对集合进行了修复,但仍不针对数据库名称。

标签: mongodb database


【解决方案1】:

根据错误消息,是的,您的数据库名称中不能有 _。

不过,这可能是该工具的限制/错误。我找不到有关 MongoDB 本身禁止这样做的文档。 mailing list says

数据库名称:

  • 空字符串无效
  • 不能包含空格、“.”、“$”、“/”、“\”或“\0”
  • 应该全部小写
  • 限制为 64 字节(转换为 UTF-8 后)
  • 保留管理员、本地和配置

集合名称:

  • 空字符串无效
  • 不能包含“\0”
  • 避免使用“系统”创建任何集合。前缀
  • 用户创建的集合名称中不应包含“$”

另外,数据库名+集合名+1之和限制为 121 字节(实际上保持在 100 以下)。

【讨论】:

  • MongoVUE 的文档可能有限制,但最后我可以使用特殊字符“_”创建数据库。 我创建了正确的名称数据库,然后,我从文件系统..C:/DATA/ 文件夹中更改了它的名称..这个位置是存储 MONGO 所有数据库。
  • @javaamtho:我会小心的。如果您的系统显然在名称中存在下划线问题,我宁愿不要强行解决这个问题。谁知道还有什么可能会破坏。我无法想象为什么您不能选择另一个数据库名称的令人信服的理由。
  • 问题不是我的系统,而是用于创建 mongo db 的工具(MongoVUE),完成此操作后..我测试了很多我的应用程序,它看起来还不错:),我无法改变我们遵循该命名约定的另一个数据库名称。
【解决方案2】:

下划线问题将在mongovue的下一版本中修复(当前版本为0.9.7.2)。这是来自facebook mongovue page的mongovue作者评论:

数据库名称中的下划线有 已经修好了。将可用 在下一个版本中。谢谢!

【讨论】: