Java 应用程序无法在我的 MongoDB 数据库中识别我的 collections。
Java Application not recognizing my collections in my MongoDB databases.
我正在创建一个简单的 Web 应用程序,我正在尝试将应用程序连接到 MongoDB。这是我建立连接的 class。
public class JavaMongoDB连接{
public static void main(String[] args) {
try {
MongoClient mongoClient = null;
mongoClient = new MongoClient();
List<String> databases = mongoClient.getDatabaseNames();
for(String dbName: databases) {
System.out.println("Databases: " + dbName);
DB db = mongoClient.getDB(dbName);
Set<String> collections = db.getCollectionNames();
for(String colName : collections) {
System.out.println("\t + Collection: "+colName);
}
}
mongoClient.close();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
当我 运行 这个 class 作为一个 Java 应用程序时,这是我的结果
数据库:admin
数据库:预算
数据库:配置
数据库:db
数据库:本地
数据库:myTestDB
但是,当我进入终端并运行以下命令时,这是我的结果。
- 显示数据库
回复:
管理 0.000GB
预算 0.000GB
配置 0.000GB
数据库 0.000GB
本地 0.000GB
我的测试数据库 0.000GB
使用 myTestDB
显示collections
回复:
预算
预算
我的收藏
那么,为什么当我 运行 这个 java 应用程序时 Budget、budget 和 myCollection 没有出现??
如果您使用的是 MongoDB Java 驱动程序的当前版本(当前为 3.7),请使用 MongoDatabase
而不是 DB
:
MongoClient mongoClient = new MongoClient();
for(String databaseName : mongoClient.listDatabaseNames()) {
System.out.println("Database: " + databaseName);
MongoDatabase db = mongoClient.getDatabase(databaseName);
for(String colName : db.listCollectionNames()) {
System.out.println("\t + Collection: " + colName);
}
}
mongoClient.close();
以上代码应具有类似于以下的输出:
Database: admin
+ Collection: system.version
Database: config
+ Collection: system.sessions
Database: local
+ Collection: startup_log
Database: test
+ Collection: testcoll1
+ Collection: testcoll2
我正在创建一个简单的 Web 应用程序,我正在尝试将应用程序连接到 MongoDB。这是我建立连接的 class。
public class JavaMongoDB连接{
public static void main(String[] args) {
try {
MongoClient mongoClient = null;
mongoClient = new MongoClient();
List<String> databases = mongoClient.getDatabaseNames();
for(String dbName: databases) {
System.out.println("Databases: " + dbName);
DB db = mongoClient.getDB(dbName);
Set<String> collections = db.getCollectionNames();
for(String colName : collections) {
System.out.println("\t + Collection: "+colName);
}
}
mongoClient.close();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
} }
当我 运行 这个 class 作为一个 Java 应用程序时,这是我的结果
数据库:admin 数据库:预算 数据库:配置 数据库:db 数据库:本地 数据库:myTestDB
但是,当我进入终端并运行以下命令时,这是我的结果。
- 显示数据库
回复: 管理 0.000GB 预算 0.000GB 配置 0.000GB 数据库 0.000GB 本地 0.000GB 我的测试数据库 0.000GB
使用 myTestDB
显示collections
回复: 预算 预算 我的收藏
那么,为什么当我 运行 这个 java 应用程序时 Budget、budget 和 myCollection 没有出现??
如果您使用的是 MongoDB Java 驱动程序的当前版本(当前为 3.7),请使用 MongoDatabase
而不是 DB
:
MongoClient mongoClient = new MongoClient();
for(String databaseName : mongoClient.listDatabaseNames()) {
System.out.println("Database: " + databaseName);
MongoDatabase db = mongoClient.getDatabase(databaseName);
for(String colName : db.listCollectionNames()) {
System.out.println("\t + Collection: " + colName);
}
}
mongoClient.close();
以上代码应具有类似于以下的输出:
Database: admin
+ Collection: system.version
Database: config
+ Collection: system.sessions
Database: local
+ Collection: startup_log
Database: test
+ Collection: testcoll1
+ Collection: testcoll2