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));
        
        }
     
}
一万年太久,只争朝夕!
原文地址:https://www.cnblogs.com/chaoba/p/10022451.html