1. 程式人生 > >Java操作MongoDB 3.x

Java操作MongoDB 3.x

一. 新增依賴

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

二. 建立連線

private static MongoCollection<Document> collection = null;

public static void main(String[] args){
    try
{ MongoClient client = new MongoClient("ip", 27017); MongoDatabase mydb = client.getDatabase("mydb"); System.out.println("連線成功"); //新建立一個集合 //mydb.createCollection("userinfo"); //獲取指定集合的連線 collection = mydb.getCollection("userinfo"); } catch (Exception e){ e.printStackTrace(); } }

三. 插入

    public void insert(){
        Document document = new Document();
        document.append("name", "Jack");
        document.append("age", 20);
        document.append("scholl", "Beida");
        document.append("address", "guangzhou");
        //插入陣列
        document.append("likes", new
ArrayList<String>(Arrays.asList(new String[]{"basketball", "football"}))); //插入內嵌文件 Document innerDoc = new Document(); innerDoc.append("father", "Ben"); innerDoc.append("mother", "meihua"); document.append("parent", innerDoc); //執行插入 collection.insertOne(document); }

四. 查詢

1. 查詢一個

    /**
     * 查詢一個
     */
    public void findOne(){
        //查詢第一個文件
        Document document = collection.find().first();
        System.out.println(document.toJson());
    }

2. 查詢所有

/**
     * 查詢所有
     */
    public void findAll(){
        MongoCursor<Document> cursor = collection.find().iterator();
        while (cursor.hasNext()){
            System.out.println(cursor.next().toJson());
        }
    }

3. 條件查詢

    /**
     * 條件查詢,使用BasicDBObject
     */
    public void find(){
        BasicDBObject object = new BasicDBObject();
        object.put("name", "Jack");
        Document doc = collection.find(object).first();
        if(doc != null){
            System.out.println(doc.toJson());
        }
    }

五、更新

    /**
     * 更新文件
     */
    public void update(){
        //查詢要更新的doc
        BasicDBObject object = new BasicDBObject();
        object.put("age", 20);
        //建立更新的doc
        BasicDBObject newObj = new BasicDBObject();
        newObj.put("age", 50);
        //具體用什麼操作更新
        BasicDBObject update = new BasicDBObject("$set", newObj);
        collection.updateOne(object, update);
    }

六、刪除

public void delete(){
    BasicDBObject object = new BasicDBObject();
    object.put("name", "Jack");
    collection.deleteOne(object);
}