• 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));
            
            }
         
    }
    一万年太久,只争朝夕!
  • 相关阅读:
    Linux系统编程之--守护进程的创建和详解【转】
    【转】Android虚拟平台的编译和整合
    【转】6.4.6 将驱动编译进Linux内核进行测试
    【转】Linux驱动模块编译进内核中
    【转】Android HAL实例解析
    【转】ubuntu下解压缩zip,tar,tar.gz和tar.bz2文件
    【转】Linux下tar.xz结尾的文件的解压方法--不错
    【转】linux tree命令以树形结构显示文件目录结构 ---- 不错
    【转】NDK编译可执行文件在Android L中运行显示error: only position independent executables (PIE) are supported.失败问题解决办法。------不错
    【转】Notepad++ 快捷键 大全 官方整理过来的
  • 原文地址:https://www.cnblogs.com/chaoba/p/10022451.html
Copyright © 2020-2023  润新知