MongoDB初步使用

125 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第6天,点击查看活动详情

一.基本概念

MongoDB是NoSQL数据库,命名源于英文单词humongous,意味「巨大无比」,可见定位。与关系型数据库不同,MongoDB 的数据以类似于 JSON 格式的二进制文档存储:

{
    name: "Angeladady",
    age: 18,
    hobbies: ["Steam", "Guitar"]
}

二.基本用法:

1.创建数据库

  • use BreastCancers
  • show dbs #展示有的数据库

2.创建集合

  • db.createCollection("AgeData")
  • show collections #展示有的集合

3.插入数据

  • 插入一个
db.AgeData.insertOne( {"age":"40-49", "mefalsepause":"premefalse", "tumor-size":"15-19", 
"inv-falsedes":"0-2", "falsede-caps":"true", "deg-malig":3, "breast":"right", 
"breast-quad":"left_up", "irradiat":"false", "class":"recurrence-events"});

  • 插入多个
db.AgeData.insertMany( [{"age":"50-59", "mefalsepause":"ge40", "tumor-size":"15-19", "inv-falsedes":"0-2", "falsede-caps":"false", "deg-malig":1, "breast":"right", "breast-quad":"central", "irradiat":"false", "class":"false-recurrence-events"}, {"age":"50-59", "mefalsepause":"ge40", "tumor-size":"35-39", "inv-falsedes":"0-2", "falsede-caps":"false", "deg-malig":2, "breast":"left", "breast-quad":"left_low", "irradiat":"false", "class":"recurrence-events"}, {"age":"40-49", "mefalsepause":"premefalse", "tumor-size":"35-39", "inv-falsedes":"0-2", "falsede-caps":"true", "deg-malig":3, "breast":"right", "breast-quad":"left_low", "irradiat":"true", "class":"false-recurrence-events"}, {"age":"40-49", "mefalsepause":"premefalse", "tumor-size":"30-34", "inv-falsedes":"3-5", "falsede-caps":"true", "deg-malig":2, "breast":"left", "breast-quad":"right_up", "irradiat":"false", "class":"recurrence-events"}, {"age":"50-59", "mefalsepause":"premefalse", "tumor-size":"25-29", "inv-falsedes":"3-5", "falsede-caps":"false", "deg-malig":2, "breast":"right", "breast-quad":"left_up", "irradiat":"true", "class":"recurrence-events"}]);

4.展示所有插入该集合的数据

db.AgeData.find()

5.根据条件展示

db.AgeData.find( {age: "40-49"})

db.AgeData.find( {age: "50-59"}).limit(2)

db.AgeData.find({"deg-malig":{$gt:1}}) gt means greater than 这个的意思就是查找deg-malig这个键的值比1大的

db.AgeData.find({},{_id:0})使用这个可以不显示数据项在表里的id号

6.更新数据

(1) db.AgeData.update({age:"40-49"},{age:"40-45"});把所有符合{age:"40-49"}都改成{age:"40-45"} (2) db.AgeData.save( {"age":"40-49", "mefalsepause":"premefalse", "tumor-size":"15-19", "inv-falsedes":"0-2", "falsede-caps":"true", "deg-malig":3, "breast":"right", "breast-quad":"left_up", "irradiat":"false", "class":"recurrence-events"})

7.删除数据

db.AgeData.remove({age:"40-45"})

三.练习

为了更好地掌握MongoDB的用法

任务一:

([{ "movieId":1, "title":"Toy Story (1995)", "genres":["Adventure","Animation","Children","Comedy","Fantasy"] },
{"movieId":2, "title":"Jumanji (1995)", "genres":["Adventure","Children","Fantasy"]}, 
{"movieId":3, "title":"Grumpier Old Men (1995)", "genres":["Comedy","Romance"]}, 
{"movieId":4, "title":"Waiting to Exhale (1995)", "genres":["Comedy","Drama","Romance"]}, 
{"movieId":5, "title":"Father of the Bride Part II (1995)", "genres":["Comedy"]}, 
{"movieId":6, "title":"Heat (1995)", "genres":["Action","Crime","Thriller"]}, 
{"movieId":7, "title":"Sabrina (1995)", "genres":["Comedy","Romance"]} ])

将以上数据插入到数据库MovieLens下的集合Movies中