java API操作MongoDB

一、依赖

<dependency>
    <groupId>org.mongodb</groupId>
    <artifactId>mongo-java-driver</artifactId>
    <version>3.5.0</version>
</dependency>

二、编码

import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import org.bson.Document;
import org.junit.Test;
import com.mongodb.Block;
import com.mongodb.MongoClient;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Filters;

public class MongodbTest {

    @Test
    public void testConnection() {
        // 建立连接
        MongoClient mongoClient = new MongoClient("192.168.2.23", 27017);
        // 获取指定数据库
        MongoDatabase database = mongoClient.getDatabase("test");
        // 打印数据库名称
        System.out.println(database.getName());
    }

    @Test
    public void testCreateCollection() {
        // 建立连接
        MongoClient mongoClient = new MongoClient("192.168.2.23", 27017);
        // 获取指定数据库
        MongoDatabase database = mongoClient.getDatabase("test");

        MongoCollection<Document> collection = database.getCollection("article");
        System.out.println("创建集合成功!!"); // 注意,如果不插入数据,该库会自动被删除

        // System.out.println("当前数据库中的所有集合是:");
        // MongoIterable<String> listCollectionNames = database
        // .listCollectionNames();
        // for (String name : listCollectionNames) {
        // System.out.println(name);
        // }

    }

    @Test
    public void testInsert() {
        // 建立连接
        MongoClient mongoClient = new MongoClient("192.168.2.23", 27017);
        // 获取指定数据库
        MongoDatabase database = mongoClient.getDatabase("test");
        // 获取指定集合
        MongoCollection<Document> collection = database.getCollection("article");
        // 创建文档
        Document doc = new Document("_id", 1).append("title", "first article")
                .append("content", "hello world").append("author", "Jack")
                .append("createDate", new Date());
        // 保存文档
        collection.insertOne(doc);

        Document temp = null;
        List<Document> list = new ArrayList<Document>();
        for (int i = 2; i < 6; i++) {
            temp = new Document("_id", i).append("title", "first article" + i)
                    .append("content", "hello world" + i)
                    .append("author", "Jack").append("createDate", new Date());

            list.add(temp);
        }
        // 保存多个文档
        collection.insertMany(list);
    }

    @Test
    public void testUpdate() {
        // 建立连接
        MongoClient mongoClient = new MongoClient("192.168.2.23", 27017);
        // 获取指定数据库
        MongoDatabase database = mongoClient.getDatabase("test");
        // 获取指定集合
        MongoCollection<Document> collection = database.getCollection("article");
        // 更新指定文档
        collection.updateOne(Filters.eq("_id", 1), new Document("$set",new Document("title", "article1")));
    }

    @Test
    public void testDelete() {
        // 建立连接
        MongoClient mongoClient = new MongoClient("192.168.2.23", 27017);
        // 获取指定数据库
        MongoDatabase database = mongoClient.getDatabase("test");
        // 获取指定集合
        MongoCollection<Document> collection = database.getCollection("article");
        // 删除id为5的文档
        collection.deleteOne(Filters.eq("_id", 5));

    }

    @Test
    public void testQuery() {
        // 建立连接
        MongoClient mongoClient = new MongoClient("192.168.2.23", 27017);
        // 获取指定数据库
        MongoDatabase database = mongoClient.getDatabase("test");
        // 获取指定集合
        MongoCollection<Document> collection = database.getCollection("article");
        // 遍历查询到的数据
        collection.find().forEach(new Block<Document>() {

            public void apply(Document doc) {
                System.out.println(doc.toJson());
            }

        });
    }
}


猜你喜欢

转载自blog.csdn.net/chen213wb/article/details/80251662
今日推荐