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();
        }
    }
    
  • 相关阅读:
    偶数求和
    POJ2002Squares
    学习笔记之ulimit
    LeetCode 345. Reverse Vowels of a String
    LeetCode 343. Integer Break
    LeetCode 292. Nim Game
    LeetCode 338. Counting Bits
    LeetCode 344. Reverse String
    [ZZ]良好的编码习惯
    学习笔记之Linux Shell脚本教程:30分钟玩转Shell脚本编程
  • 原文地址:https://www.cnblogs.com/tian-ci/p/10543060.html
Copyright © 2011-2022 走看看