• MongoDB 的简单使用


    MongoDB数据库操作

    Student文档如下:

    {

    “name”: “zhangsan”,

    “score”: {

    “English”: 69,

    “Math”: 86,

    “Computer”: 77

    }

    }

    {

    “name”: “lisi”,

    “score”: {

    “English”: 55,

    “Math”: 100,

    “Computer”: 88

    }

    }

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

    1MongoDB Shell设计出student集合

    use Stu
    
    db.createCollection('student')
    
    show dbs
    
    
    use Stu

     

    随后将给出的数据插入student集合

    stus=[{"name":"zhangsan","scores":{"English":69,"Math":86,"Computer":77}},{"name":"lisi","score":{"English":55,"Math":100,"Computer":88}}]
    db.student.insert(stus)
    
    db.student.insert(stus)

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

    db.student.find()

     

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

    db.student.find({"name":"zhangsan"},{"_id":0,"name":0})

     

    4)修改lisi的Math成绩,95

    db.student.update({"name":"lisi"}, {"$set":{"score.Math":95}} )

     

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

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

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

    {

    “name”: “scofield”,

    “score”: {

    “English”: 45,

    “Math”: 89,

    “Computer”: 100

    }

    }

       

    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.MongoDatabase;
    
    public class mongo_insert {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            //实例化一个mongo客户端
            MongoClient  mongoClient=new MongoClient("localhost",27017);
            //实例化一个mongo数据库
            MongoDatabase mongoDatabase = mongoClient.getDatabase("Stu");
            //获取数据库中某个集合
            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)

    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;
    import com.mongodb.client.model.Filters;
    import static com.mongodb.client.model.Filters.eq;
    public class mongo_query {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            //实例化一个mongo客户端
            MongoClient  mongoClient=new MongoClient("localhost",27017);
            //实例化一个mongo数据库
            MongoDatabase mongoDatabase = mongoClient.getDatabase("Stu");
            //获取数据库中某个集合
            MongoCollection<Document> collection = mongoDatabase.getCollection("student");
            //进行数据查找,查询条件为name=scofield, 对获取的结果集只显示score这个域
            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());
        }
    }

     

  • 相关阅读:
    VS code 快捷键注释不能用[!----]解决办法
    vue 文件导出demo
    vue中后台返回的是数字,前端利用字典将其转换为相对应的中文
    java.lang.UnsupportedOperationException解决方法【转】
    Java List的remove()方法陷阱
    密码至少包含数字、大小写字母、特殊字符两种以上,长度不小于8位
    获取规格内数字
    获取时间段数据
    Echarts GL初次体验
    bootstrap-datetimepicker 如何获取值(日期)
  • 原文地址:https://www.cnblogs.com/cdl-sunshine/p/15463609.html
Copyright © 2020-2023  润新知