MongoDB基本概念
- 数据库(database)
数据库是一个仓库,在仓库中存放集合。
- 集合(collection)
集合就是一组文档,集合是用来存放文档的,集合中存放的文档可以是各种各样。
- 文档(document)
类似于js中的对象,在MongoDB中每一条数据都是一个文档,没有格式要求。文档是数据库中最小的单位,我们存储和操作的内容就是文档。在MongoDB中,数据库和集合是不需要手动创建的,当我们创建文档时,如果文档所在的集合和数据库不能存在会自动创建数据库和集合。
- 多个文档组成集合,多个集合组成数据库
MongoDB管理应用
MongoDB基本指令
show dbs #显示数据库
show databases
use [数据库名] #进入到指定的数据库中
db #db表示的是当前所处的数据库位置
show collections #显示数据中所有的集合
#数据库的CRUD(增删改查)操作
#插入记录
# 向集合中插入一个或多个文档
# 当向集合中插入文档时,如果没有给文档指定_id属性,则数据库会自动为文档添加_id,该属性作为文档的唯一标识。_id我们可以自己指定,但是要确保唯一性。
# db.<collection>.insert(doc)
# db.<collection>.insertOne(doc) #插入一个文档
# db.<collection>.insertMany() #插入多个文档
db.stus.insert({name: "zhangsan"})
db.stus.insert([{name:"white"},{name:"angle"}])
#查找当前集合中的所有文档
#find() 查询集合中所有符合条件的文档。
#find() 可以接受一个对象作为条件,{属性:值} 查询指定文档。
# db.<collection>.find(filter)
# db.<collection>.findOne(filter) #用来查询集合中符合条件的第一个文档。
# db.<collection>.find({}).count() #查询所有文档的数量
# db.stus.find({name:"angle"})
#修改
# update() 默认情况下会使用新对象来替换旧的对象
# 如果需要修改指定属性,而不是替换需要使用“修改操作符”来完成修改
# $set 可以用来修改文档中的指定属性
# $unset 用来删除文档中的指定属性
# db.<collection>.update(查询条件,新对象)
db.stus.update({name:"white"}, {$set: {age:18}})
db.stus.update({name:"white"}, {$unset: {age:1}})
#删除
# db.<collection>.remove() #默认删除多个
# db.<collection>deleteOne()
# db.<collection>deleteMany()
db.stus.remove({name:"white"})
#清理集合
# db.<collection>.drop() #删除集合
# db.dropDatabase() #删除数据库
db.stus.remove({})
db.stus.drop()
文档间的关系
- 一对一
- 一对多
- 多对多