如何使用Java创建MongoDB数据库

3

我可以使用以下语句删除数据库:

MongoClient mongo = new MongoClient("localhost", 27017);
mongo.dropDatabase("d");

我该如何创建数据库?


你真的需要无格式地复制粘贴你的问题三次吗?如果看起来像那样,人们将不想处理你的问题。(其他人请注意:请查看编辑修订。) - River
3个回答

3
如果您使用的是3.1.1或更高版本的驱动程序:
请参考这个答案
调用getDatabase实际上不会创建新数据库,因为该操作是惰性的-它返回数据库表示。如果调用任何可修改的操作(例如createCollection):
如果不存在,将为您创建新数据库;如果存在,则为您获取数据库。但请记住,您必须调用任何实际执行某些操作(如create)的操作。如果您只调用getDatabase,它不会创建它。
注意: 文档没有提供这些信息,希望他们能够更新。但简单来说,只有在您对其进行操作后才会创建它。

1
MongoClient mongoClient = new MongoClient();
DB db = mongoClient.getDB("database name");

如果数据库不存在,MongoDB会为您创建它。

0
你可以使用以下代码从Java创建MongoDB数据库,它会成功,但有一个限制:Mongo数据库在查询时应该只包含一个集合来显示数据库。
`MongoClient client = MongoClients.create(CONNECTION_URL);
    System.out.println("Connection with database established successfully");`
    
    String databaseName = "SK_BANK_LTD";
    
    System.out.println("Trying to create a database :- "+databaseName);
    MongoDatabase db = client.getDatabase(databaseName);

通过运行以下代码,数据库将不可见,因为它不包含任何集合,所以在创建数据库时在数据库中添加一个虚拟集合,如下所示:`MongoClient client = MongoClients.create(CONNECTION_URL); System.out.println("连接数据库成功");`
    String databaseName = "SK_BANK_LTD";
    
    System.out.println("Trying to create a database :- "+databaseName);
    MongoDatabase db = client.getDatabase(databaseName);
    
    Document test = new Document().append("createdBy", "Binson");
    db.getCollection("test").insertOne(test);
    
    System.out.println("Database: " + databaseName + "created successfully");`

确保您的数据库不包含以下在mongoDB中被禁止的字符。
'\0','/','\',' ','"','.'

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接