java連接mongodb數據庫


最近畢設需要用到這個數據庫。然而又不會,沒辦法,只能上網學習學習。

記錄一下java連接mongodb數據庫的簡單方法。這里只是記錄一下學習。熟悉一下CURD方法。

但是畢業用到的是SpringBoot來整合mongodb數據庫。似乎用SpringBoot來操作mongodb更簡單。

如果是SpringBoot。創建項目的時候選擇mongodb即可。

java練習,jar包下載地址如下:https://oss.sonatype.org/content/repositories/releases/org/mongodb/mongo-java-driver/3.4.1/

在學習中。看到說3.0和3.0以下,有些方法被棄用了。哎,頭疼。不多說了。到時候用的時候百度吧。

面試加油!!!!!

java操作代碼如下:

package demo;

import java.util.ArrayList;
import java.util.List;

import org.bson.Document;

import com.mongodb.MongoClient;
import com.mongodb.MongoClientOptions;
import com.mongodb.ServerAddress;
import com.mongodb.client.FindIterable;
import com.mongodb.client.MongoCollection;
import com.mongodb.client.MongoCursor;
import com.mongodb.client.MongoDatabase;
import com.mongodb.client.model.Filters;
import com.mongodb.client.model.UpdateOptions;
import com.mongodb.client.result.UpdateResult;

public class Demo {
    
        public static void main(String[] args) {
            MongoClientOptions option=MongoClientOptions.builder().connectTimeout(60000).build();
        
            MongoClient monGoClient=new MongoClient(new ServerAddress("127.0.0.1",27017),option);
            //獲取操作數據庫
            MongoDatabase db=monGoClient.getDatabase("chaoba");
            //獲取集合。后面的操作,大部分都是基於集合操作
            MongoCollection<Document> contections=db.getCollection("chaoba1");
            //插入
            contections.insertOne(new Document("name","test123").append("sex", "男"));
            
            
            //批量插入
            List<Document> documents=new ArrayList<>();
            documents.add(new Document("name","text111").append("sex", "女"));
            documents.add(new Document("name","chaoba4565").append("sex", "男"));
            contections.insertMany(documents);
//            更新一個
            UpdateResult update1=contections.updateOne(Filters.eq("name", "test123"), new Document("$set",new Document("name","暮雪超霸")));
            //批量更新
            UpdateResult update=contections.updateMany(Filters.eq("name", "test123"), new Document("$set",new Document("name","暮雪超霸")));
            //UpdateResult這個里面包含AcknowledgedUpdateResult{matchedCount=1, modifiedCount=1, upsertedId=null}
            //matchedCount不知道什么意思,看着好像是修改的個數。。modifiedCount這個也是
            
            //更新,如果key不存在。則新插入一個文檔
            contections.updateOne(Filters.eq("name","mumu"), new Document("$set",new Document("age", 20)),new UpdateOptions().upsert(true));
            
            
            System.out.println(update);
            //查詢所有一
            FindIterable<Document> result=contections.find();
            for (Document document : result) {
                System.out.println(document);
            }
            //通過自帶的迭代方法查詢全部數據
            MongoCursor result1=    contections.find().iterator();
            while(result1.hasNext()) {
                System.out.println(result1.next());
            }
    
            //查詢單個
        Document result3=contections.find().first();
        System.out.println(result3);
        
        //根據條件查詢
        MongoCursor result4=contections.find().filter(Filters.eq("name","mumu")).iterator();
        while(result4.hasNext()) {
        System.out.println(result4.next());
    }
        //多條件查詢
        MongoCursor result5=    contections.find().filter(Filters.and(Filters.eq("name","mumu"),Filters.eq("age",20))).iterator();
        while(result5.hasNext()) {
        System.out.println(result5.next());
    }
        
        
        //刪除
        contections.deleteOne(Filters.eq("chaoba",1));
        
        }
     
}

 


免責聲明!

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



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