java - db 已经存在,其他情况不同

标签 java mongodb

我尝试从 MongoDB 读取数据。我有一个问题:

Exception in thread "main" com.mongodb.MongoException: db already exists with different case other 

异常从这里抛出:

DBCursor cur[] = new DBCursor[cursorSize];
...
cur[i].hasNext() // Exeption

有什么问题?

Mongo 的版本是 2.10.1

最佳答案

此错误表明您正在尝试创建一个仅在大小写上与已存在的数据库名称不同的数据库。例如,如果您已经有一个名为“test”的数据库,则尝试为现有名称创建“Test”、“TEST”或其他大小写变体时会出现此错误。

数据库名称用于命名数据​​范围文件,因此名称冲突可能会导致在不区分大小写的文件系统上发生坏事。

MongoDB 手册有更多关于 Naming Restrictions 的详细信息,包括区分大小写和特定于不同操作系统的限制。

useful part of the error message问题描述中似乎已省略,但您应该在此消息中看到现有数据库的名称以及被拒绝的新名称。

对应的MongoDB 2.4服务器code snippet是:

 ss << "db already exists with different case other: [" << duplicate << "] me [" << _name << "]";

关于java - db 已经存在,其他情况不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20126378/

相关文章:

java - 查询失败,错误代码为 13,服务器本地主机 :27017 上的错误消息为 'command find requires authentication'

java - SBT 包装显示出意外的行为

java - 如何调试通过 JNI 从 Java 使用的 DLL

mongodb - 如何通过r2d2和actix在MongoDB中保存文档?

arrays - Mongoose 查询,查找 B.array 中与 A.array 中匹配的所有 B 类型项目

java - 如何通过内部映射中的参数查找 mongo 文档(最好使用 Spring MongoTemplate)

Java switch语句默认放置的效率

java - 如何使用 Selenium 关闭 Chrome 的下载对话框(通过单击取消)

java - 如何更改 Google App Engine 中的目标 URL

MongoDB 查询缓存