初学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("文档删除成功");
    }
}
相关推荐
这个DBA有点耶1 小时前
2026年分布式数据库有哪些主流选择?先评估这5个维度再决定
数据库·分布式·dba
这个DBA有点耶4 小时前
从MySQL 5.7到8.0:JSON查询性能差在哪?虚拟列索引vs多值索引怎么选
数据库·mysql·架构
胡写代码4 小时前
数据库审计字段,别再每张表各写一套了——我统一成这 6 个字段
数据库
SelectDB8 小时前
为什么 JSON 正在成为分析数据库新的竞争点?
数据库·json·agent
ClouGence9 小时前
开源数据库管理工具 CloudDM 4.2.0 发布,新增 GoldenDB、KingbaseES 等数据源
数据库·dba·devops
发霉的馒头9 小时前
ORA-00845: MEMORY_TARGET not supported on this system的解决方法
数据库
草莓熊Lotso11 小时前
【Redis 初阶】Set 类型深度解析:去重集合的运算能力与实战场景
linux·网络·数据库·windows·redis·tcp/ip·缓存
煎饼皮皮侠13 小时前
【设计】设计一个web版的数据库管理平台后端(之五) --借鉴mybatis
数据库·mybatis
东风破_19 小时前
danci 2:创建的单词书到底存在哪里?从 Supabase 一路理解 ORM、Drizzle 和 RLS
数据库·后端·node.js
橙子家20 小时前
OSS 文件上传的几个风险点和解决方案
数据库