MongoDB学习之Java操作MongoDB MongoDB Java Driver3.X

MongoDB学习之Java操作MongoDB   MongoDB Java Driver3.X

首先,我们的先开启mongodb服务,以及创建需要连接的数据库,以及连接的用户。

创建数据库:https://blog.csdn.net/lwx356481/article/details/82215723

创建用户:https://blog.csdn.net/lwx356481/article/details/82461539

准备好了这些之后,可以下载 MongoDB Java Driver的jar包,本次使用的是3.8.1版本的jar包

使用idea创建一个java的工程。然后开始编写工程。

首先我们来写连接数据库mongo的demo

        MongoClientURI uri = new MongoClientURI("mongodb://root:root@localhost:27001/mldn");
        //获取连接mongodb数据库
        MongoClient client = new MongoClient(uri);
        //连接mldn的数据库
        MongoDatabase db = client.getDatabase("mldn");
        System.out.println(db.getCollection("students").countDocuments(new BasicDBObject()));
        db.getCollection("stucol").drop();
        client.close();

连接上数据库之后,进行插入数据的操作的demo

        MongoClientURI uri = new MongoClientURI("mongodb://root:root@localhost:27001/mldn");
        //获取连接mongodb数据库
        MongoClient client = new MongoClient(uri);
        //连接mldn的数据库
        MongoDatabase db = client.getDatabase("mldn");
        MongoCollection col = db.getCollection("stucol");
        List<Document> all = new ArrayList<Document>();
        for (int i = 0; i < 1000; i++) {
            Document doc = new Document();
            doc.append("sid",i);
            doc.append("name","姓名 - " + i);
            doc.append("sex",i%2==0?"M":"F");
            all.add(doc);
        }
        col.insertMany(all);
        client.close();

插入完成数据之后,进行数据的基本查询

        MongoClientURI uri = new MongoClientURI("mongodb://root:root@localhost:27001/mldn");
        //获取连接mongodb数据库
        MongoClient client = new MongoClient(uri);
        //连接mldn的数据库
        MongoDatabase db = client.getDatabase("mldn");
        MongoCollection col = db.getCollection("stucol");
        MongoCursor cursor = col.find().iterator();
        while (cursor.hasNext()){
            System.out.println(cursor.next());
        }

        client.close();

范围查询

       MongoClientURI uri = new MongoClientURI("mongodb://root:root@localhost:27001/mldn");
       //获取连接mongodb数据库
       MongoClient client = new MongoClient(uri);
       //连接mldn的数据库
       MongoDatabase db = client.getDatabase("mldn");
       MongoCollection col = db.getCollection("stucol");
       BasicDBObject cond = new BasicDBObject();
       cond.put("sid",new BasicDBObject("$in",new int[]{1,2,3,4,5,6,7,8,9}));
       MongoCursor cursor = col.find(cond).iterator();
       while (cursor.hasNext()){
            System.out.println(cursor.next());
       }
       client.close();

分页查询

        MongoClientURI uri = new MongoClientURI("mongodb://root:root@localhost:27001/mldn");
        //获取连接mongodb数据库
        MongoClient client = new MongoClient(uri);
        //连接mldn的数据库
        MongoDatabase db = client.getDatabase("mldn");
        MongoCollection col = db.getCollection("stucol");
        BasicDBObject cond = new BasicDBObject();
        cond.put("sid",new BasicDBObject("$in",new int[]{1,2,3,4,5,6,7,8,9}));
        MongoCursor cursor = col.find(cond).skip(1).limit(5).iterator();
        while (cursor.hasNext()){
            System.out.println(cursor.next());
        }

        client.close();

模糊查询(查询的字段为str)

        MongoClientURI uri = new MongoClientURI("mongodb://root:root@localhost:27001/mldn");
        //获取连接mongodb数据库
        MongoClient client = new MongoClient(uri);
        //连接mldn的数据库
        MongoDatabase db = client.getDatabase("mldn");
        Pattern pattern = Pattern.compile("5");
        MongoCollection col = db.getCollection("stucol");
        BasicDBObject cond = new BasicDBObject();
        cond.put("name",new BasicDBObject("$regex",pattern));
        MongoCursor cursor = col.find(cond).iterator();
        while (cursor.hasNext()){
            System.out.println(cursor.next());
        }

        client.close();

条件查询

        MongoClientURI uri = new MongoClientURI("mongodb://root:root@localhost:27001/mldn");
        //获取连接mongodb数据库
        MongoClient client = new MongoClient(uri);
        //连接mldn的数据库
        MongoDatabase db = client.getDatabase("mldn");
        MongoCollection col = db.getCollection("stucol");
        BasicDBObject cond = new BasicDBObject();
        cond.put("sid",new BasicDBObject("$gte",10).append("$lte",50));
        MongoCursor cursor = col.find(cond).iterator();
        while (cursor.hasNext()){
            System.out.println(cursor.next());
        }

        client.close();

更新操作

        MongoClientURI uri = new MongoClientURI("mongodb://root:root@localhost:27001/mldn");
        //获取连接mongodb数据库
        MongoClient client = new MongoClient(uri);
        //连接mldn的数据库
        MongoDatabase db = client.getDatabase("mldn");
        MongoCollection col = db.getCollection("stucol");
        BasicDBObject condA = new BasicDBObject();
        condA.put("sid",0);
        BasicDBObject condB = new BasicDBObject();
        condB.put("$set",new BasicDBObject("name","test"));
        UpdateResult result = col.updateMany(condA,condB);
        System.out.println(result.getModifiedCount());
        client.close();

删除操作

        MongoClientURI uri = new MongoClientURI("mongodb://root:root@localhost:27001/mldn");
        //获取连接mongodb数据库
        MongoClient client = new MongoClient(uri);
        //连接mldn的数据库
        MongoDatabase db = client.getDatabase("mldn");
        MongoCollection col = db.getCollection("stucol");
        BasicDBObject condA = new BasicDBObject();
        condA.put("sid",0);
        DeleteResult result = col.deleteOne(condA);
        System.out.println(result.getDeletedCount());
        client.close();

聚合操作

        MongoClientURI uri = new MongoClientURI("mongodb://root:root@localhost:27001/mldn");
        //获取连接mongodb数据库
        MongoClient client = new MongoClient(uri);
        //连接mldn的数据库
        List<BasicDBObject> list = new ArrayList<BasicDBObject>();
        MongoDatabase db = client.getDatabase("mldn");
        MongoCollection col = db.getCollection("stucol");
        BasicDBObject condA = new BasicDBObject();
        condA.put("$group",new BasicDBObject("_id","$sex").append("count",new 
        BasicDBObject("$sum",1)));
        list.add(condA);
        MongoCursor cursor = col.aggregate(list).iterator();
        while (cursor.hasNext()){
            System.out.println(cursor.next());
        }
        client.close();

版权声明: 原创文章,如需转载,请注明出处。 https://blog.csdn.net/lwx356481/article/details/82492645

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值