MongoDB
是一个开源的 NoSQL 数据库,由 C++ 语言编写。它与传统的关系型数据库不同,MongoDB 使用的是一种基于文档的存储模型,不需要定义固定的表结构,可以灵活地存储和管理大量的非结构化数据。下面是 MongoDB 的一些核心特性:
一个简单JAVA例子:
要在 Java 中对 MongoDB 进行增删改查操作,可以使用 MongoDB 官方的 Java 驱动。首先,确保在项目中引入 MongoDB 的 Java 驱动依赖。例如,如果你使用的是 Maven,可以在 pom.xml 中添加以下依赖:
<dependency><groupId>org.mongodb</groupId><artifactId>mongodb-driver-sync</artifactId><version>4.9.0</version>
</dependency>
java代码:
import com.mongodb.MongoClientSettings;
import com.mongodb.client.*;
import com.mongodb.client.model.Filters;
import com.mongodb.client.model.Updates;
import org.bson.Document;
import org.bson.conversions.Bson;import java.util.Arrays;public class MongoDBExample {public static void main(String[] args) {// 创建 MongoDB 客户端MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017");// 选择数据库MongoDatabase database = mongoClient.getDatabase("testDB");// 选择集合MongoCollection<Document> collection = database.getCollection("testCollection");// 插入文档insertDocument(collection);// 查询文档findDocument(collection);// 更新文档updateDocument(collection);// 删除文档deleteDocument(collection);// 关闭 MongoDB 客户端mongoClient.close();}// 插入文档示例public static void insertDocument(MongoCollection<Document> collection) {Document document = new Document("name", "Alice").append("age", 25).append("skills", Arrays.asList("Java", "MongoDB", "Spring"));collection.insertOne(document);System.out.println("文档插入成功: " + document.toJson());}// 查询文档示例public static void findDocument(MongoCollection<Document> collection) {Document document = collection.find(Filters.eq("name", "Alice")).first();if (document != null) {System.out.println("查询结果: " + document.toJson());} else {System.out.println("未找到符合条件的文档");}}// 更新文档示例public static void updateDocument(MongoCollection<Document> collection) {Bson filter = Filters.eq("name", "Alice");Bson updateOperation = Updates.set("age", 26);collection.updateOne(filter, updateOperation);System.out.println("文档更新成功");}// 删除文档示例public static void deleteDocument(MongoCollection<Document> collection) {Bson filter = Filters.eq("name", "Alice");collection.deleteOne(filter);System.out.println("文档删除成功");}
}