• NoSQL和关系数据库的操作比较


    MongoDB数据库操作

    Student文档如下:

    {

    “name”: “zhangsan”,

    “score”: {

    “English”: 69,

    “Math”: 86,

    “Computer”: 77

    }

    }

    {

    “name”: “lisi”,

    “score”: {

    “English”: 55,

    “Math”: 100,

    “Computer”: 88

    }

    }

    1. 根据上面给出的文档,完成如下操作:  

            

    (1)MongoDB Shell设计出student集合

     

     

     

    (2)find()方法输出两个学生的信息

         

    (3)find()方法查询zhangsan所有成绩(只显示score)

     

    4)修改lisi的Math成绩,95

     

    2.根据上面已经设计出的Student集合,用MongoDBJava客户端编程,实现如下操作:

    1添加数据:English:45 Math:89  Computer:100

    与上述数据对应的文档形式如下:

    {

    “name”: “scofield”,

    “score”: {

    “English”: 45,

    “Math”: 89,

    “Computer”: 100

    }

    }

    package test;

    import java.util.ArrayList;

    import java.util.List;

    import org.bson.Document;

    import com.mongodb.MongoClient;

    import com.mongodb.client.MongoCollection;

    import com.mongodb.client.MongoCursor;

    import com.mongodb.client.MongoDatabase;

    public class insertDoc {

       public static void main(String[] args) {

       insert();

       }

       public static void insert() {

       

       MongoClient mongoClient = new MongoClient("localhost", 27017);

           MongoDatabase mongoDatabase = mongoClient.getDatabase("students");

           MongoCollection<Document> collection = mongoDatabase.getCollection("Student");

           Document document = new Document("name", "scofield").append("score", new Document("English", 45).append("Math", 89).append("Computer", 100));

           List<Document> documents = new ArrayList<Document>();

           documents.add(document);

           collection.insertMany(documents);

           System.out.println("文档插入成功");

       }

       

       

    }

       

     

    2)获取scofield所有成绩成绩信息(只显示score)

    package test;

    import java.util.ArrayList;

    import java.util.List;

    import org.bson.Document;

    import com.mongodb.MongoClient;

    import com.mongodb.client.MongoCollection;

    import com.mongodb.client.MongoCursor;

    import com.mongodb.client.MongoDatabase;

    public class insertDoc {

       public static void main(String[] args) {

       show_Scores();

       }

       

       public static void show_Scores() {

           MongoClient  mongoClient=new MongoClient("localhost",27017);

           MongoDatabase mongoDatabase = mongoClient.getDatabase("students");

           MongoCollection<Document> collection = mongoDatabase.getCollection("Student");

           MongoCursor<Document>  cursor=collection.find( new Document("name","scofield")).

                   projection(new Document("score",1).append("_id", 0)).iterator();

           while(cursor.hasNext())

               System.out.println(cursor.next().toJson());

       }

    }

     

  • 相关阅读:
    springcloud费话之配置中心server修改
    springboot的jar包部署
    Address already in use : connect
    关于账户登录鉴权系统的要点
    springcloud费话之配置中心客户端(SVN)
    springcloud费话之配置中心基础(SVN)
    springcloud费话之断路器(hystrix in feign)
    springcloud费话之Eureka接口调用(feign)
    springcloud费话之Eureka服务访问(restTemplate)
    springcloud费话之Eureka集群
  • 原文地址:https://www.cnblogs.com/Lizhichengweidashen/p/15564045.html
Copyright © 2020-2023  润新知