java - 无法使用 Mongo Java 驱动程序创建数据库

标签 java mongodb

我是 mongo DB 的新手,现在刚刚学习基础知识。我正在尝试显示当前数据库的名称:

try {
        // Creates a new instance of MongoDBClient and connect to localhost
        // port 27017
        MongoClient mongoClient = new MongoClient("localhost", 27017);

        mongoClient.getDB("myMongoDB");

        List<String> listofDB= mongoClient.getDatabaseNames();

        for(String dbName : listofDB){
            System.out.println(dbName);
        }



    } catch (Exception e) {
        e.printStackTrace();
    }

它打印出的唯一数据库是 adminlocalmyMongoDB 没有出现。当我进入 shell 并输入 show databases 时,myMongoDB 也不会出现。我真的很困惑,因为通过使用 .getDB() 方法,如果传递到该方法的字符串不是当前数据库的名称,那么 mongo 将创建该名称的数据库.. here

我正在使用以下依赖项:

            `<dependency>
            <groupId>org.mongodb</groupId>
            <artifactId>mongo-java-driver</artifactId>
            <version>2.12.3</version>
            </dependency>`

最佳答案

这不会打印 myMongoDB,因为它尚未创建。 您需要执行一些事务,例如创建集合、将数据插入集合中。 然后它将显示在该列表中。 仅选择数据库不会在 mongo DB 中创建数据库。

由于 mongodb 的默认行为是延迟创建数据库,直到进行文档插入为止。

您可以点击此链接使用java驱动程序对mongo进行一些操作: http://mongodb.github.io/mongo-java-driver/2.13/getting-started/quick-tour/

如果您想使用命令行创建集合,可以点击以下链接: https://docs.mongodb.com/manual/reference/method/db.createCollection/

关于java - 无法使用 Mongo Java 驱动程序创建数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46430775/

相关文章:

java - 在Android中获取图像的点击区域

java 如何获取一个long as UID

java - admob 的 xml 呈现问题

node.js - 查找未邀请任何用户的用户

Mongodb不能使用部分(...)遍历元素({... : undefined})]

javascript - 在 Windows 上使用meteor.js 和 mongoDB

java - 一行的 JtextPane

java - JPA/Hibernate 查询 : load eagerly with subselect

mongodb - BasicBSONList 只能使用数字键,不能使用 : [_id]

javascript - 基于登录用户的条件查询