MongoDB在java中的使用-03

创建一个项目导入jar包

引入坐标
<dependency>  
	<groupId>org.mongodb</groupId>  
	<artifactId>mongo-java-driver</artifactId>  
	<version>3.8.0</version>  
</dependency> 
链接数据库
 /**
     * 连接数据库
     */
    @Test
    public void test1(){
        //尝试连接mongodb数据库,如果不报异常就代表连接成功
        //创建连接,如果用的本地路径和默认端口则可以直接new MongoClient();
        MongoClient client = new MongoClient("localhost",27017);
        //获得一个库
        MongoDatabase mr = client.getDatabase("xbb");
        System.out.println("连接成功");
        //用完记得关闭连接,释放资源
        client.close();
    }
向mongodb中添加一条数据
 /**
     * 添加一条数据
     */
    @Test
    public void test2(){
        //创建连接
        MongoClient client = new MongoClient("localhost",27017);
        //获得一个库
        MongoDatabase mr = client.getDatabase("xbb");
        //获得一个指定的集合
        MongoCollection<Document> xbb = mr.getCollection("xbb");
        //创建一个文档
        Document c1 = new Document();
        //在文档中添加内容
        c1.append("name","王苏南");
        c1.append("age",44);
        //添加一个文档到集合中
        xbb.insertOne(c1);
        //关闭连接,释放资源
        client.close();
    }

查看结果

在这里插入图片描述

添加多条数据
/**
     * 添加多条数据
     */
    @Test
    public void test3(){
        //创建连接
        MongoClient client = new MongoClient("localhost",27017);
        //获得一个库
        MongoDatabase mr = client.getDatabase("xbb");
        //获得库中的一个集合
        MongoCollection<Document> xbb = mr.getCollection("xbb");
        //创建文档
        Document c1 = new Document();
        c1.append("name","dfh");
        c1.append("money",12);
        Document c2 = new Document();
        c2.append("name","hjl");
        c2.append("money",55);
        Document c3 = new Document();
        c3.append("name","tto");
        c3.append("money",97);
        //将多条文档添加到list中
        List<Document> cs = Arrays.asList(c1, c2, c3);
        //将多条数据添加到集合中
        xbb.insertMany(cs);
        //关闭连接,释放资源
        client.close();
    }
查看结果

在这里插入图片描述

查询集合中的所有文档
/**
     * 查询集合中的所有文档
     */
    @Test
    public void test4(){
        //创建连接
        MongoClient client = new MongoClient("localhost",27017);
        //获得一个库
        MongoDatabase mr = client.getDatabase("xbb");
        //获得库中的一个集合
        MongoCollection<Document> xbb = mr.getCollection("xbb");
        //查询所有文档
        FindIterable<Document> xs = xbb.find();
        //遍历所有文档
        for(Document x : xs){
            System.out.println(x.get("id")+"--"+x.get("name")+"--"+x.get("age"));
        }
        //关闭连接,释放资源
        client.close();
    }
查看结果

在这里插入图片描述

分页查询
/**
     * 分页查询
     */
    @Test
    public void test5(){
        //查询页数
        int page = 1;
        //每页条数
        int rows = 5;
        //创建连接
        MongoClient client = new MongoClient("localhost",27017);
        //获得一个库
        MongoDatabase mr = client.getDatabase("xbb");
        //获得一个指定的集合
        MongoCollection<Document> xbb = mr.getCollection("xbb");
        //分页查询文档
        FindIterable<Document> xs = xbb.find().skip((page - 1) * rows).limit(rows);
        //遍历所有文档
        for (Document x : xs) {
            System.out.println(x.get("id")+"--"+x.get("name")+"--"+x.get("age"));
        }
        //关闭连接,释放资源
        client.close();
    }
查看结果

在这里插入图片描述

单一条件查询符合的文档
 /**
     * 单一条件查询符合的文档
     */
    @Test
    public void test6(){
        //创建连接
        MongoClient client = new MongoClient("localhost",27017);
        //获得一个库
        MongoDatabase mr = client.getDatabase("xbb");
        //获得一个指定的集合
        MongoCollection<Document> xbb = mr.getCollection("xbb");
        //查询所有符合条件的文档(后面的是一个单独的条件)
        FindIterable<Document> xs = xbb.find(Filters.eq("name", "tto"));
        for (Document x : xs) {
            System.out.println(x.get("id")+"--"+x.get("name")+"--"+x.get("money"));
        }
        //关闭连接
        client.close();
    }
查看结果

在这里插入图片描述

多条件查询符合的文档
  /**
     * 多条件查询符合的文档
     */
    @Test
    public void test7(){
        //创建连接
        MongoClient client = new MongoClient("localhost",27017);
        //获得一个库
        MongoDatabase mr = client.getDatabase("xbb");
        //获得指定的一个集合
        MongoCollection<Document> xbb = mr.getCollection("xbb");
        //创建复合条件,where name = "tto" and money < 19
        Bson where = Filters.and(Filters.eq("name", "tto"), Filters.lt("money", 100));
        //查询所有符合条件的文档
        FindIterable<Document> xs = xbb.find(where);
        //遍历所有文档
        for (Document x : xs) {
            System.out.println(x.get("name")+"--"+x.get("money"));
        }
        //关闭连接
        client.close();
    }
查看结果

在这里插入图片描述

修改符合条件的文档
  /**
     * 修改符合条件的文档
     */
    @Test
    public void test8(){
        //创建连接
        MongoClient client = new MongoClient("localhost",27017);
        //获得一个库
        MongoDatabase mr = client.getDatabase("xbb");
        //获得一个指定的集合
        MongoCollection<Document> xbb = mr.getCollection("xbb");
        //修改符合条件的第一条数据
        xbb.updateOne(Filters.eq("name", "tto"), new Document("$set", new Document("money", 1)));
        //修改复合条件的所有数据
        xbb.updateMany(Filters.eq("name","cvb"),new Document("$set",new Document("age","666")));
        //关闭连接,释放资源
        client.close();
    }
删除符合条件的文档
/**
     * 删除符合条件的文档
     */
    @Test
    public void test9(){
        //创建连接
        MongoClient client = new MongoClient("localhost",27017);
        //获得一个库
        MongoDatabase mr = client.getDatabase("xbb");
        //获得一个指定的集合
        MongoCollection<Document> xbb = mr.getCollection("xbb");
        //删除符合条件的第一条数据
        xbb.deleteOne(Filters.eq("name","tto"));
        //删除符合条件的所有数据
        xbb.deleteMany(Filters.eq("name","cvb"));
        //关闭连接,释放资源
        client.close();
    }

猜你喜欢

转载自blog.csdn.net/weixin_44102521/article/details/89138616