初学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("文档删除成功");
    }
}
相关推荐
pixcarp3 小时前
知识库系统的内容资产闭环怎么设计
服务器·数据库·后端·golang
JosieBook3 小时前
【数据库】时序预测能力的分级进化:TimechoAI如何让每一类用户都能精准预见未来
java·开发语言·数据库
吴声子夜歌5 小时前
SQL经典实例——使用多张表
数据库·sql
倔强的石头_6 小时前
《Kingbase护城河》——深度解密数据库行锁冲突与等待事件架构
数据库
IT策士6 小时前
Redis 从入门到精通:性能调优与多语言客户端对比
数据库·redis·缓存
Bert.Cai7 小时前
Oracle INSTR函数详解
数据库·oracle
茉莉玫瑰花茶9 小时前
综合案例 - AI 智能租房助手 [ 5 ]
服务器·数据库·人工智能·python·ai
ywl4708120879 小时前
jwt生产token,简单版helloworld
java·数据库·spring
器灵科技9 小时前
AI视频工具实测:Seedance/可灵/HappyHorse谁最能打?
java·运维·数据库·人工智能·github
huangdong_10 小时前
京东商品图片视频批量下载与m3u8视频合并技术完整实现方案
大数据·前端·数据库