MongoDB笔记
数据库
数据库:数据库是按找数据结构来组织、存储和管理数据的仓库。断电存储。
数据库的分类
关系型数据库(RDBMS):mysql 、oracle 、db2、sql server
- 关系型数据库中都是表
非关系型数据库(NoSQL):MongoDB、Redis
- 键值对数据库
- 文档数据库MongoDB
Mongodb
MongoDB 简介
- MongoDB是为快速开发互联网Web应用而设计的数据库系统;
- MongoDB的设计目标是极简、灵活、作为Web应用栈的一部分;
- MongoDB的数据模型是面向文档的,文档是类似于FJSON的结构。
三个基本概念
- 数据库
数据库是一个仓库,在仓库中可以存放集合。
- 集合(collection)
集合类似于数组,在集合中可以存放文档
- 文档
文档是数据库的最小单位,操作和存储的都是文档。
当我们创建文档时,如果文档所在的集合或数据库不存在会自动创建数据库和集合。
常见操作
基本指令
显示当前所有数据库:show dbs
进入数据库:use dbname(数据库名字)
当前所处数据库: db
显示数据库中所有的集合:show collections
增删改查(CRUD)
增加
db.collection.insert(doc)
注:这里的collection是指文档的名字,doc是指文档内容
当我们向集合种插入文档时,如果没有给文档_id属性,则数据库会自动为文档添加_id属性
db.collection.inserrOne() 插入一个文档对象
db.collection.inserrMany() 插入多个文档对象
查询
db.collections.find() 返回的是一个数组。
注:这里的collection是指文档的名字,find()括号内可以接收一个对象作为条件参数。
db.collection.findOne() 查询集合种符合条件的第一个文档,findone返回的是一个对象。
db.collection.find().count(); 查询所有结果的数量
修改
db.collection.update(查询条件,新对象)
-
update()默认情况下会使用新对象来替换旧的对象
-
如果需要修改指定的属性,而不是替换需要使用“修改操作符”来完成
$set 用来修改文档中的指定属性
$unset 可以用来删除文档的指定属性
删除
db.collection.remove()
- 删除符合条件的所有文档(默认情况下会删除多个) 如果remove()第二个参数传递一个true,则只会删除一个。如果只传递一个空对象作为参数,则会删除集合中的所有文档。
db.collection.deleteOne()
db.collection.deleteMany()
db.collection.remove()
- remove() 可以根据条件来删除文档,传递的条件和find()一样。删除一个或多个,可以第二个参数传递一个true,则只会删除一个。如果传递一个空对象,则会删除所有的。
db.collection.drop() 删除集合
db.dropDatabase() 删除数据库
- 一般不会删除数据库,删除数据一般用标签表示。isDel