Java原生API訪問MongoDB


1.pom.xml

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

 

2.Java代碼

package cn.duanjt;

import java.util.Arrays;

import org.bson.Document;
import org.bson.conversions.Bson;
import org.junit.Before;
import org.junit.Test;

import com.mongodb.Block;
import com.mongodb.MongoClient;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.result.DeleteResult;

//注意是靜態導入
import static com.mongodb.client.model.Updates.*;
import static com.mongodb.client.model.Filters.*;

public class MongoDB {
    MongoClient client;// mongo連接實例
    MongoDatabase dataBase;// 數據庫
    MongoCollection<Document> collection;// 集合,類似於關系型數據庫的表

    @Before
    public void init() {
        client = new MongoClient("192.168.23.24", 27022);
        dataBase = client.getDatabase("duanjt");
        collection = dataBase.getCollection("teacher");
    }

    // 插入一條數據
    @Test
    public void insert() {
        Document doc = new Document();
        doc.append("name", "李四");
        doc.append("addr", "重慶");
        doc.append("likes", Arrays.asList("排球", "籃球"));// 數組
        collection.insertOne(doc);// 插入數據時會自動創建數據庫和集合
        System.out.println("success");
    }

    // 修改,把李四的愛好修改為 足球和羽毛球
    @Test
    public void update1() {
        Bson eq = eq("name", "張三");
        Bson set = set("likes", Arrays.asList("足球", "羽毛球"));
        collection.updateMany(eq, set);
        System.out.println("修改成功");
    }

    // 修改,把李四的愛好新增 足球和羽毛球
    @Test
    public void update2() {
        Bson eq = eq("name", "李四");
        Bson set = pushEach("likes", Arrays.asList("足球", "羽毛球"));
        collection.updateMany(eq, set);
        System.out.println("修改成功");
    }

    // 查詢愛好足球的老師
    @Test
    public void find() {
        Bson filter = in("likes", Arrays.asList("足球"));
        FindIterable<Document> find = collection.find(filter);
        find.forEach(new Block<Document>() {
            @Override
            public void apply(Document t) {
                System.out.println(t.toJson());
            }
        });
    }

    //刪除數據
    @Test
    public void delete() {
        Bson filter = eq("name", "duanjt");
        DeleteResult deleteMany = collection.deleteMany(filter);
        System.out.println("刪除數據:" + deleteMany.getDeletedCount());
    }

    // 刪除集合
    @Test
    public void dropCol() {
        collection.drop();
        System.out.println("刪除成功");
    }

}

 

稍微注意注釋部分的代碼即可

MongoDB 關系型數據庫
數據庫 數據庫
集合
文檔 一行數據


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM