初学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("文档删除成功");
    }
}
相关推荐
橘橙黄又青2 分钟前
mongodb的基本命令
数据库·mongodb
AC赳赳老秦5 分钟前
量化交易脚本开发:DeepSeek生成技术指标计算与信号触发代码
数据库·elasticsearch·信息可视化·流程图·数据库架构·memcached·deepseek
何中应7 分钟前
Redis的两个小错误
数据库·redis·缓存
Dovis(誓平步青云)22 分钟前
《Linux 核心 IO 模型深析(中篇):探索Cmake与多路转接的高效实现poll》
linux·运维·服务器·数据库·csdn成长记录
DBA小马哥25 分钟前
MongoDB迁移全解析:国产多模融合下的平滑替代实践
数据库·mongodb·dba
进阶小白猿25 分钟前
Java技术八股学习Day14
java·数据库·学习
jnrjian27 分钟前
Oracle username 集成 AD
数据库·oracle
施嘉伟30 分钟前
Oracle重建控制文件技术总结
数据库·oracle
小光学长31 分钟前
基于ssm的美容院会员管理系统xnbnpp45(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库