在 MongoDB 中,数据库会在你第一次向其插入数据时自动创建。这是因为 MongoDB 使用了一种"延迟创建"(lazy creation)的策略,只有在需要时才会创建数据库。因此,你不需要显式地创建数据库。
当你连接到 MongoDB 并尝试向一个不存在的数据库中插入数据时,MongoDB 会自动创建该数据库,并在插入数据时创建相应的集合。集合是 MongoDB 中存储文档的容器,类似于关系数据库中的表。
以下是一些示例代码,展示了如何通过插入数据来创建数据库和集合:
import com.mongodb.client.MongoClients;
import com.mongodb.client.MongoClient;
import com.mongodb.MongoClientSettings;
import com.mongodb.ConnectionString;
import org.bson.Document;
public class CreateDatabaseExample {
public static void main(String[] args) {
// 建立连接
ConnectionString connectionString = new ConnectionString("mongodb://localhost:27017");
MongoClientSettings settings = MongoClientSettings.builder()
.applyConnectionString(connectionString)
.build();
MongoClient mongoClient = MongoClients.create(settings);
// 选择数据库和集合
MongoDatabase database = mongoClient.getDatabase("mydatabase");
MongoCollection<Document> collection = database.getCollection("mycollection");
// 插入文档,会自动创建数据库和集合
Document document = new Document("name", "John")
.append("age", 30)
.append("city", "New York");
collection.insertOne(document);
// 关闭连接
mongoClient.close();
}
}
在上面的示例中,我们连接到 MongoDB,并在 mydatabase
数据库的 mycollection
集合中插入了一个文档。如果 mydatabase
数据库和 mycollection
集合不存在,MongoDB 会在插入数据时自动创建它们。