• Java原生API访问MongoDB


    1.pom.xml

    <dependency>
        <groupId>org.mongodb</groupId>
        <artifactId>mongo-java-driver</artifactId>
        <version>3.5.0</version>
    </dependency>

    2.Java代码

    package cn.duanjt;
    
    import java.util.Arrays;
    
    import org.bson.Document;
    import org.bson.conversions.Bson;
    import org.junit.Before;
    import org.junit.Test;
    
    import com.mongodb.Block;
    import com.mongodb.MongoClient;
    import com.mongodb.client.FindIterable;
    import com.mongodb.client.MongoCollection;
    import com.mongodb.client.MongoDatabase;
    import com.mongodb.client.result.DeleteResult;
    
    //注意是静态导入
    import static com.mongodb.client.model.Updates.*;
    import static com.mongodb.client.model.Filters.*;
    
    public class MongoDB {
        MongoClient client;// mongo连接实例
        MongoDatabase dataBase;// 数据库
        MongoCollection<Document> collection;// 集合,类似于关系型数据库的表
    
        @Before
        public void init() {
            client = new MongoClient("192.168.23.24", 27022);
            dataBase = client.getDatabase("duanjt");
            collection = dataBase.getCollection("teacher");
        }
    
        // 插入一条数据
        @Test
        public void insert() {
            Document doc = new Document();
            doc.append("name", "李四");
            doc.append("addr", "重庆");
            doc.append("likes", Arrays.asList("排球", "篮球"));// 数组
            collection.insertOne(doc);// 插入数据时会自动创建数据库和集合
            System.out.println("success");
        }
    
        // 修改,把李四的爱好修改为 足球和羽毛球
        @Test
        public void update1() {
            Bson eq = eq("name", "张三");
            Bson set = set("likes", Arrays.asList("足球", "羽毛球"));
            collection.updateMany(eq, set);
            System.out.println("修改成功");
        }
    
        // 修改,把李四的爱好新增 足球和羽毛球
        @Test
        public void update2() {
            Bson eq = eq("name", "李四");
            Bson set = pushEach("likes", Arrays.asList("足球", "羽毛球"));
            collection.updateMany(eq, set);
            System.out.println("修改成功");
        }
    
        // 查询爱好足球的老师
        @Test
        public void find() {
            Bson filter = in("likes", Arrays.asList("足球"));
            FindIterable<Document> find = collection.find(filter);
            find.forEach(new Block<Document>() {
                @Override
                public void apply(Document t) {
                    System.out.println(t.toJson());
                }
            });
        }
    
        //删除数据
        @Test
        public void delete() {
            Bson filter = eq("name", "duanjt");
            DeleteResult deleteMany = collection.deleteMany(filter);
            System.out.println("删除数据:" + deleteMany.getDeletedCount());
        }
    
        // 删除集合
        @Test
        public void dropCol() {
            collection.drop();
            System.out.println("删除成功");
        }
    
    }

    稍微注意注释部分的代码即可

    MongoDB 关系型数据库
    数据库 数据库
    集合
    文档 一行数据
  • 相关阅读:
    找到数组中消失的所有数字-算法刷题总结
    爬楼梯-算法练习笔记
    最长公共前缀-刷题总结
    每日温度-算法详细分析
    买卖股票的最佳时机-算法详细分析
    回文数-算法详细分析
    合并两个有序链表-算法详细法分析
    最短无序连续子数组 | 算法详细分析
    整数反转-算法详细分析
    python设计模式之责任链模式
  • 原文地址:https://www.cnblogs.com/duanjt/p/10315124.html
Copyright © 2020-2023  润新知