java中MongoDB简单操作

 依赖:

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

 创建连接:
 

//连接数据库服务
MongoClient mongoClient = new MongoClient("localhost",27017);
//选择数据库连接
MongoDatabase mongoDatabase = mongoClient.getDatabase("runoob");
//连接集合
MongoCollection mongoCollection = mongoDatabase.getCollection("col");

 基本操作代码合集:(测试类中编写),纯代码加注释,无结果图。按顺序执行即可

import com.mongodb.BasicDBObject;
import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Filters;
import org.bson.Document;
import org.junit.Test;

import java.util.ArrayList;
import java.util.List;

public class MongoDB {

    /**
     * @Description TODO  获取集合所有文档内容,遍历输出
     **/
    public static void printTeables(MongoCollection mongoCollection){
        FindIterable findIterable = mongoCollection.find();
        for (Object o : findIterable) {
            System.out.println(o);
        }
    }

   /**
    * @Description TODO  新增数据
    **/
    @Test
    public void test2(){
        //连接数据库服务
        MongoClient mongoClient = new MongoClient("localhost",27017);
        //选择数据库连接
        MongoDatabase mongoDatabase = mongoClient.getDatabase("runoob");
        //连接集合
        MongoCollection mongoCollection = mongoDatabase.getCollection("col");
        //创建文档
        Document document = new Document();
        document.append("name","一号");
        document.append("age","10");
        //插入一条数据
        mongoCollection.insertOne(document);

        //创建文档
        Document document1 = new Document();
        document1.append("name","二号");
        document1.append("age","20");
        Document document2 = new Document();
        document2.append("name","三号");
        document2.append("age","20");

        List<Document> documentList = new ArrayList<>();
        documentList.add(document1);
        documentList.add(document2);
        //插入多条数据
        mongoCollection.insertMany(documentList);
        //打印
        printTeables(mongoCollection);
        //关闭连接
        mongoClient.close();
    }

    /**
     * @Description TODO  修改数据
     **/
    @Test
    public void test3(){
        //连接数据库服务
        MongoClient mongoClient = new MongoClient("localhost",27017);
        //选择数据库连接
        MongoDatabase mongoDatabase = mongoClient.getDatabase("runoob");
        //连接集合
        MongoCollection mongoCollection = mongoDatabase.getCollection("col");
        //修改一条记录
        mongoCollection.updateOne(Filters.eq("name","二号"),new Document("$set",new Document("name","四号")));
        //修改多条符合要求记录
        mongoCollection.updateMany(Filters.eq("age","20"),new Document("$set",new Document("age","30")));
        printTeables(mongoCollection);
        mongoClient.close();
    }

    /**
     * @Description TODO  查询
     **/
    @Test
    public void test4(){
        //连接数据库服务
        MongoClient mongoClient = new MongoClient("localhost",27017);
        //选择数据库连接
        MongoDatabase mongoDatabase = mongoClient.getDatabase("runoob");
        //连接集合
        MongoCollection mongoCollection = mongoDatabase.getCollection("col");

        //单条件查询
        FindIterable findIterable = mongoCollection.find(Filters.eq("age", "30"));
        for (Object o:findIterable) {
            System.out.println(o);
        }
        //多条件查询
        FindIterable findIterable1 = mongoCollection.find(Filters.and(Filters.eq("name", "三号"), Filters.eq("age", "30")));
        for (Object o:findIterable1) {
            System.out.println(o);
        }
        mongoClient.close();
    }

    /**
     * @Description TODO  删除一条数据
     **/
    @Test
    public void test5(){
        //连接数据库服务
        MongoClient mongoClient = new MongoClient("localhost",27017);
        //选择数据库连接
        MongoDatabase mongoDatabase = mongoClient.getDatabase("runoob");
        //连接集合
        MongoCollection mongoCollection = mongoDatabase.getCollection("col");
        //删除一条数据
        mongoCollection.deleteOne(Filters.eq("name","一号"));
        //删除多条符合条件数据
        mongoCollection.deleteMany(Filters.eq("age","30"));

        printTeables(mongoCollection);
        mongoClient.close();
    }

    /**
     * @Description //TODO 查询所有
     **/
    @Test
    public void findAll(){
        //连接数据库服务
        MongoClient mongoClient = new MongoClient("localhost",27017);
        //选择数据库连接
        MongoDatabase mongoDatabase = mongoClient.getDatabase("runoob");
        //连接集合
        MongoCollection mongoCollection = mongoDatabase.getCollection("col");
        printTeables(mongoCollection);
        mongoClient.close();
    }
    /**
     * @Description //TODO 按需查询-查询部分数据
     **/
    @Test
    public void findOneOfDemoTest(){
        //连接数据库服务
        MongoClient mongoClient = new MongoClient("localhost",27017);
        //选择数据库连接
        MongoDatabase mongoDatabase = mongoClient.getDatabase("runoob");
        //连接集合
        MongoCollection mongoCollection = mongoDatabase.getCollection("col");

        MongoCursor<Document> documentMongoCursor = mongoCollection.find().projection(new BasicDBObject("name",1).append("_id",0)).iterator();
        for (MongoCursor<Document> it = documentMongoCursor; it.hasNext(); ) {
            Object o = it.next();
            System.out.println(o);
        }
        mongoClient.close();
    }
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值