MongoDB之Java代码操作

1.创建mongo_demo工程并且引入依赖

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>mongo_demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>

    <dependencies>
        <!-- https://mvnrepository.com/artifact/org.mongodb/mongodb-driver -->
        <dependency>
            <groupId>org.mongodb</groupId>
            <artifactId>mongodb-driver</artifactId>
            <version>3.9.0</version>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.12</version>
        </dependency>
    </dependencies>
</project>

2.编写测试类

package com.xdp.test;

import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import org.bson.Document;
import org.junit.Test;

public class MongoTest {
    @Test
    public void mongoConnect1() {
        //创建连接
        MongoClient mongoClient = new MongoClient("10.211.55.28");
        //获取数据库
        MongoDatabase database = mongoClient.getDatabase("spitdb");
        //获取集合
        MongoCollection<Document> collection = database.getCollection("spit");
        //获取文档
        FindIterable<Document> documents = collection.find();
        //遍历文档的集合
        for (Document document:documents){
            System.out.println("内容:"+ document.getString("content"));
            System.out.println("用户ID:"+document.getString("userid"));
            System.out.println("浏览量:"+document.getInteger("visits"));
        }
        //关闭连接
        mongoClient.close();
    }
}

3.运行结果

4.条件查询

4.1查询userid为1013的记录

 /**
     * 条件查询
     * BasicDBObject对象:表示一个具体的记录,BasicDBObject实现了DBObject,是key-
     * value的数据结构,用起来和HashMap是基本一致的。
     */
    @Test
    public void mongoConnect2() {
        //创建连接
        MongoClient mongoClient = new MongoClient("10.211.55.28");
        //获取数据库
        MongoDatabase database = mongoClient.getDatabase("spitdb");
        //获取集合
        MongoCollection<Document> collection = database.getCollection("spit");
        //构建查询条件
        BasicDBObject basicDBObject = new BasicDBObject("userid", "1013");
        //获取文档
        FindIterable<Document> documents = collection.find(basicDBObject);
        //遍历文档的集合
        for (Document document:documents){
            System.out.println("内容:"+ document.getString("content"));
            System.out.println("用户ID:"+document.getString("userid"));
            System.out.println("浏览量:"+document.getInteger("visits"));
        }
        //关闭连接
        mongoClient.close();
    }

4.2查询浏览量大于1000的记录

    @Test
    public void mongoConnect3() {
        //创建连接
        MongoClient mongoClient = new MongoClient("10.211.55.28");
        //获取数据库
        MongoDatabase database = mongoClient.getDatabase("spitdb");
        //获取集合
        MongoCollection<Document> collection = database.getCollection("spit");
        //构建查询条件
        BasicDBObject basicDBObject = new BasicDBObject("visits", new BasicDBObject("$gt",1000));
        //获取文档
        FindIterable<Document> documents = collection.find(basicDBObject);
        //遍历文档的集合
        for (Document document:documents){
            System.out.println("内容:"+ document.getString("content"));
            System.out.println("用户ID:"+document.getString("userid"));
            System.out.println("浏览量:"+document.getInteger("visits"));
        }
        //关闭连接
        mongoClient.close();
    }

5.插入数据

@Test
    public void mongoConnect4() {
        //创建连接
        MongoClient mongoClient = new MongoClient("10.211.55.28");
        //获取数据库
        MongoDatabase database = mongoClient.getDatabase("spitdb");
        //获取集合
        MongoCollection<Document> collection = database.getCollection("spit");
        HashMap<String, Object> map = new HashMap<String, Object>();
        map.put("content","我要吐槽");
        map.put("userid","9999");
        map.put("visits",123);
        map.put("publishtime",new Date());
        Document document = new Document(map);
        collection.insertOne(document);
        //关闭连接
        mongoClient.close();
    }

猜你喜欢

转载自blog.csdn.net/weixin_42545256/article/details/84560111