zoukankan      html  css  js  c++  java
  • Java操作MongoDB之mongodb-driver

    mongodb-driver是mongo官方推出的java连接mongoDB的驱动包,相当于JDBC驱动。
    通过一个入门的案例来了解mongodb-driver的基本使用:

    1、查询全部记录

    1.1、创建工程mongoDemo,引入依赖

    <dependency>
    	<groupId>org.mongodb</groupId>
    	<artifactId>mongodb-driver</artifactId>
    	<version>3.6.3</version>
    </dependency>
    

    1.2、创建测试类

    public class MongoDemo1 {
        public static void main(String[] args) {
            // 创建连接
            MongoClient client = new MongoClient("192.168.206.128");
            // 打开数据库spitdb
            MongoDatabase spitdb = client.getDatabase("spitdb");
            // 获取集合
            MongoCollection<Document> spit = spitdb.getCollection("spit");
            // 查询记录,获取文档集
            FindIterable<Document> documents = spit.find();
            // 循环遍历
            for (Document document : documents) {
                System.out.println("内容:" + document.getString("content"));
                System.out.println("用户ID:" + document.getString("userid"));
                System.out.println("浏览量:" + document.getInteger("visits"));
            }
            // 关闭连接
            client.close();
        }
    }
    

    2、条件查询

    BasicDBObject对象:表示一个具体的记录,BasicDBObject实现了DBObject,是key/value的数据结构,用起来和HashMap是基本一致的。

    2.1、查询userid为1013的记录

    public class MongoDemo1 {
        public static void main(String[] args) {
            // 创建连接
            MongoClient client = new MongoClient("192.168.206.128");
            // 打开数据库spitdb
            MongoDatabase spitdb = client.getDatabase("spitdb");
            // 获取集合
            MongoCollection<Document> spit = spitdb.getCollection("spit");
    
            // 构建查询条件,通过userid进行查询
            BasicDBObject bson = new BasicDBObject("userid", "1013");
    
            // 通过userid查询记录获取文档集
            FindIterable<Document> documents = spit.find(bson);
            // 循环遍历
            for (Document document : documents) {
                System.out.println("内容:" + document.getString("content"));
                System.out.println("用户ID:" + document.getString("userid"));
                System.out.println("浏览量:" + document.getInteger("visits"));
            }
            // 关闭连接
            client.close();
        }
    }
    

    2.2、查询浏览量大于1000的记录

    public class MongoDemo2 {
        public static void main(String[] args) {
            // 创建连接
            MongoClient client = new MongoClient("192.168.206.128");
            // 打开数据库spitdb
            MongoDatabase spitdb = client.getDatabase("spitdb");
            // 获取集合
            MongoCollection<Document> spit = spitdb.getCollection("spit");
    
            // 构建查询条件,查询visits大于1000的结果
            BasicDBObject bson = new BasicDBObject("visits", new BasicDBObject("$gt", 1000));
    
            // 通过userid查询记录获取文档集
            FindIterable<Document> documents = spit.find(bson);
            // 循环遍历
            for (Document document : documents) {
                System.out.println("内容:" + document.getString("content"));
                System.out.println("用户ID:" + document.getString("userid"));
                System.out.println("浏览量:" + document.getInteger("visits"));
            }
            // 关闭连接
            client.close();
        }
    }
    

    3、插入数据

    public class MongoDemo3 {
        public static void main(String[] args) {
            // 创建连接
            MongoClient client = new MongoClient("192.168.206.128");
            // 打开数据库spitdb
            MongoDatabase spitdb = client.getDatabase("spitdb");
            // 获取集合
            MongoCollection<Document> spit = spitdb.getCollection("spit");
    
            // 准备数据
            HashMap<String, Object> map = new HashMap<>();
            map.put("content", "我要吐槽");
            map.put("userid", "9999");
            map.put("visits", 123);
            map.put("publishtime", new Date());
            //
            Document document = new Document(map);
            // 插入一条数据
            spit.insertOne(document);
    
            // 关闭连接
            client.close();
        }
    }
    
  • 相关阅读:
    「枫桥夜泊」一诗
    走遍亚洲 —— 泰国
    走遍亚洲 —— 泰国
    暴露年龄
    暴露年龄
    插入排序(insertion sort)
    开机黑屏 仅仅显示鼠标 电脑黑屏 仅仅有鼠标 移动 [已成功解决]
    OpenCV For iOS 1:&#160;连接OpenCV 3.0
    插入排序
    [hadoop系列]Pig的安装和简单演示样例
  • 原文地址:https://www.cnblogs.com/tian-ci/p/10543060.html
Copyright © 2011-2022 走看看