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();
        }
    }
    
  • 相关阅读:
    回车换行解释
    二,php的错误处理
    2017年计划
    postgresql无法安装pldbgapi的问题
    在tmux中的vi 上下左右键变为了ABCD等字符
    查看某表有没有语句被锁住
    ubuntu 常见错误--Could not get lock /var/lib/dpkg/lock
    PostgreSQL杀掉死锁的链接
    实现从Oracle增量同步数据到GreenPlum
    终于将rsync-3.1.2配置成功,之外还挖掘了一些新的用法
  • 原文地址:https://www.cnblogs.com/tian-ci/p/10543060.html
Copyright © 2011-2022 走看看