初学mongoDB

MongoDB 是一个开源的 NoSQL 数据库,由 C++ 语言编写。它与传统的关系型数据库不同,MongoDB 使用的是一种基于文档的存储模型,不需要定义固定的表结构,可以灵活地存储和管理大量的非结构化数据。下面是 MongoDB 的一些核心特性:

一个简单JAVA例子:

要在 Java 中对 MongoDB 进行增删改查操作,可以使用 MongoDB 官方的 Java 驱动。首先,确保在项目中引入 MongoDB 的 Java 驱动依赖。例如,如果你使用的是 Maven,可以在 pom.xml 中添加以下依赖:

xml 复制代码
<dependency>
    <groupId>org.mongodb</groupId>
    <artifactId>mongodb-driver-sync</artifactId>
    <version>4.9.0</version>
</dependency>

java代码:

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("文档删除成功");
    }
}
相关推荐
sekaii6 分钟前
ReDistribution plan细节
linux·服务器·数据库
焱焱枫42 分钟前
自适应SQL计划管理(Adaptive SQL Plan Management)在Oracle 12c中的应用
数据库·sql·oracle
2301_793069821 小时前
Spring Boot +SQL项目优化策略,GraphQL和SQL 区别,Spring JDBC 等原理辨析(万字长文+代码)
java·数据库·spring boot·sql·jdbc·orm
hhw1991121 小时前
spring boot知识点5
java·数据库·spring boot
ITPUB-微风2 小时前
功能开关聚合对象实践:提升金融领域的高可用性
网络·数据库·金融
去看日出2 小时前
Linux(centos)系统安装部署MySQL8.0数据库(GLIBC版本)
linux·数据库·centos
Hanyaoo2 小时前
为什么mvcc中?m_ids 列表并不等同于 min_trx_id 和 max_trx_id 之间的所有事务 ID
数据库
偏右右2 小时前
PL/SQL 异常处理
数据库·sql·oracle
利瑞华3 小时前
Redis 存在线程安全问题吗?为什么?
数据库·redis·安全
小金的学习笔记3 小时前
如何在本地和服务器新建Redis用户和密码
服务器·数据库·redis