MongoDB入门
- 简介
MongoDB存储的是文档(document),文档内存储的是类似json的结构;mongodb的数据库中存储的是bson
mongodb中包含多个数据库,一个数据库包含多个集合,一个集合包含多个文档
-
常用命令
show dbs # 显示当前所有数据库
show databases # 显示当前所有数据库
use 数据库名 # 进入到指定的数据库中;如果数据库不存在,也可切换到指定数据库,之后在数据库中执行插入操作,数据库就存在了
db # 表示我们当前所处的数据库
show collections # 显示我们数据库中所有的集合
db.stus.insert ( {name:“小红”,age:18,gender:”男“} ) # 向stus集合中插入文档,即一个学生对象
db.stus.find() # 查询集合stus中的所有文档
- 插入数据
db.集合名.insert({name:"小欢",age:28,gender:"男"}) # 插入单条数据
# 当我们插入一条数据后,mongodb会为该条数据指定一个唯一的 _id,也可自己指定 _id
db.集合名.insert({ _id:"abc", name:"小明", age:"15"})
db.集合名.insert([{},{}]) # 插入多条数据
db.集合名.insertOne() # 只能插入单挑数据
db.集合名.insertMany([{} ]) # 可插入多条数据,即使只插入一条数据,也需用中括号
- 查询数据
db.集合名.find() # 表示查询集合中所有文档
db.集合名.find({}) # 表示查询集合中所有文档
db.集合名.find({age:"18"}) # 查询集合中所有满足条件的文档
db.集合名.findOne({age:"18"}) # 查询集合中满足条件的第一个文档
db.集合名.find({age:"18"})[2] # find()方法返回的是一个数组,这里表示查询数组中的第二个文档
db.集合名.findOne({age:"16"}).name # findOne()方法返回的是一个对象,这里表示查询第一个文档的name字段
db.集合名.find({}).count() # 统计数量
- 修改数据
db.集合名.update(查询条件,新对象) # 查询出的对象会被新对象替换
db.stus.update({name:"小花"}, {age:17}) # 将stus集合中name为小花的对象替换成新对象{age:17}
db.stus.update(
{age:""16}, # 查找age为16的对象,当查询到多个对象时,update()方法默认只会修改第一文档
{
$set:{
name:"小刚", # 只替换name字段
gender:"男" # 该字段原对象中不存在时,则表示在新对象中新增字段
}
}
)
db.stus.update(
{age:""16}, # 查找age为16的对象
{
$unset:{ # $unset表示删除指定字段
name:"小刚",
}
}
)
db.集合名.updateOne() # 只修改第一个文档
db.集合名.updateMany() # 修改所有文档
db.集合名.update(
{name:"小花"}, # 查询条件
{
$set:{
address:"重庆" # 修改后的条件
}
},
{
multi:ture # 表示修改多个文档
}
)
- 删除数据
db.集合名.remove({name:"小花"}) # 删除集合中所有符合条件的文档
db.集合名.remove({name:"小花"}, true) # 删除集合中符合条件的第一个文档
db.集合名.remove({}) # 传一个空对象作为参数,则删除集合中所有文档
db.集合名.drop() # 删除集合
db.集合名.deleteOne() # 删除单个文档
db.集合名.deleteMany() # 删除多个文档
db.dropDatabase() # 删除数据库