zoukankan      html  css  js  c++  java
  • 10月22日

     今天学习Mongo的api操作,用相关操作来完成实验报告

    import com.alibaba.fastjson.JSON;
    import com.alibaba.fastjson.JSONObject;
    import com.google.gson.Gson;
    import com.mongodb.client.*;
    import com.mongodb.client.model.Filters;
    import com.mongodb.client.model.Projections;
    import org.bson.Document;
    import org.junit.After;
    import org.junit.Before;
    import org.junit.Test;
    
    import java.util.ArrayList;
    import java.util.List;
    import java.util.Map;
    import java.util.logging.Filter;
    
    import static com.mongodb.client.model.Filters.*;
    
    public class api {
        private MongoClient mongoClient=null;
        private MongoDatabase database=null;
    
        @Before
        public void init(){
            mongoClient = MongoClients.create("mongodb://localhost:27017");
            database = mongoClient.getDatabase("teat");
        }
    
        @After
        public void close()
        {
            if(mongoClient!=null){
                mongoClient.close();
            }
        }
        @Test
        public void t(){
            MongoClient mongoClient = MongoClients.create("mongodb://localhost:27017");
            MongoDatabase database = mongoClient.getDatabase("teat");
            MongoCollection<Document> collection =database.getCollection("Student");
            System.out.println("------"+collection.find().first().toJson());
            if(mongoClient!=null){
                mongoClient.close();
            }
        }
    
        @Test
        public void insert(){
            MongoCollection<Document> collection =database.getCollection("t2");
    //        Document doc=new Document("name","为什么")
    //                .append("score",new Document("English","100").append("Math","100").append("Computer","100"));
    //
    //        Document doc1=new Document("name","你在哪")
    //                .append("score",new Document("English",100).append("Math",100).append("Computer",100));
    //
    //        Document doc2=new Document("name","scofield")
    //                .append("score",new Document("English",45).append("Math",89).append("Computer",100));
    //        collection.insertOne(doc2);
    
            //批量插入
            List<Document> documents=new ArrayList();
            for(int i=0;i<5;i++){
                Document document=new Document("i",1);
                documents.add(document);
            }
            collection.insertMany(documents);
    
        }
        @Test
        public void gai() {
            MongoCollection<Document> collection = database.getCollection("t2");
            //$set 表示更新部分字段
            //collection.updateOne(Filters.eq("i",1),new Document("$set",new Document("i",999)));
    
            //批量修改
            collection.updateMany(Filters.eq("i",1),new Document("$set",new Document("i",999)));
        }
        @Test
        public void shan() {
            MongoCollection<Document> collection = database.getCollection("t2");
    
           // collection.deleteOne(Filters.eq("i",0));
            //批量删除
            collection.deleteMany(Filters.eq("i",999));
        }
        @Test
        public void cha() {
            MongoCollection<Document> collection = database.getCollection("Student");
            //FindIterable<Document>documents=collection.find(Filters.eq("i",2));
            //通过filters的式子进行连接多条条件,多条件查询
           // FindIterable<Document>documents=collection.find(or(Filters.eq("i",2),eq("i",4)));
            //通过投影指定显示那些字段
            FindIterable<Document>documents=collection.find(Filters.eq("name","scofield"))
                    .projection(Projections.fields(Projections.include("score"),Projections.excludeId()));
    
            for(Document document:documents){
                System.out.println(document.toJson());
                /**用阿里的FastJson包
                 *
                 * 该方法用于将已有的json字符串转换为json对象,并取出该对象中相应的key对应的value值
                 * 将已有的字符串转换成jsonobject,用JSON.parseObject(jsonStr)方法
                 * json中只要是{}就代表一个JSONObject,[]就代表一个JSONArray
                 * 获取JSONObject对象用JSONObject jsonobject.getJSONObject("key")方法
                 * 获取JSONArray对象用JSONObject jsonobject.getJSONArray("key")方法
                 */
                JSONObject jsonobj = JSON.parseObject(document.toJson()); //将json字符串转换成jsonObject对象
                System.out.println(jsonobj.getJSONObject("score").getString("Math"));//获取嵌套的json字符串中的属性值
            }
        }
    
    }

    学习时间:3个小时22分钟

  • 相关阅读:
    【原创】绝对居中
    MSSQL数据库各角色权限
    如何升级至 XHTML?
    XHTML 语法
    5.4 删除一个元素节点或者文本节点
    Ajax实现无刷新的获取数据并绑定到GridView,以及无刷新更新数据[转]
    鼠标滑过时显示图片内容隐藏和鼠标滑过图片隐藏内容显示的两种小方法
    纯CSS3魔方的制作
    201920201学期 20192415 《网络空间安全专业导论》XOR加密
    201920201学期 20192415 《网络空间安全专业导论》第四周学习总结
  • 原文地址:https://www.cnblogs.com/buyaoya-pingdao/p/14317556.html
Copyright © 2011-2022 走看看