开启掘金成长之旅!这是我参与「掘金日新计划 · 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中