MongoDB
- MongoDB是一个NoSQL的数据库
- MongoDB是一款文档型数据库
- 数据库指的就是一个存储数据的仓库
数据库可以使我们完成对数据的持久化的操作
- MongoDB数据库中存储的数据的基本单位就是文档,
MongoDB中存储的就是文档,所谓文档其实就是一个“JSON”
- MongoDB中的“JSON”我们称为BSON,比普通的JSON的功能要更加的强大
- MongoDB数据库使用的是JavaScript进行操作的,在MongoDB含有一个对ES标准实现的引擎,
在MongoDB中所有ES中的语法中都可以使用
- MongoDB的基本的指令
- 启动服务器
mongod --dbpath 路径 --port 端口号
- 启动客户端
mongo
- MongoDB的CRUD的操作
- 基本操作
use 数据库
- 进入指定的数据库
show dbs
- 显示所有的数据库
show collections
- 显示数据库中所有的集合
db
- 显示当前所在的数据库
- 向数据库中插入文档
- db.collection.insert()
- insert()可以向集合中插入一个或多个文档
- db.collection.insertOne()
- 向集合中插入一个文档
- db.collection.insertMany()
- 向集合中插入多个文档
- 查询数据库中的文档
- db.collection.find()
- 可以根据指定条件从集合中查询所有符合条件的文档
- 返回的是一个数组
- db.collection.findOne()
- 查询第一个符合条件的文档
- 返回的是一个对象
- db.collection.find().count()
- 查询符合条件的文档的数量
- 修改数据库中的文档
- db.collection.update()
- 可以修改、替换集合中的一个或多个文档
- db.collection.updateOne()
- 修改集合中的一个文档
- db.collection.updateMany()
- 修改集合中的多个文档
- db.collection.replaceOne()
- 替换集合中的一个文档
- 删除集合中的文档
- db.collection.remove()
- 删除集合中的一个或多个文档(默认删除多个)
- db.collection.deleteOne()
- 删除集合中的一个文档
- db.collection.deleteMany()
- 删除集合中的多个文档
- 清空一个集合
db.collection.remove({})
- 删除一个集合
db.collection.drop()
- 删除一个数据库
db.dropDatabase()
增:
- db.属性.insert():向集合中插入一个或多个文档, 当没有给文档定义id时,它会自动给每个文档添加id,作为唯一标识
----我们可以自己给他设置一个id,这样他自己就不会添加在添加了 语法:db.stus.insert({name:“小明”,age:28})
— db.属性.insertOne():只能插入一个 db.属性.insertMany():可以插入多个
查询:
-
find()用来查询集合中所有符合条件的文档,可以接收一个对象作为条件参数(返回的是数组)
语法:db.属性名.find({查询条件,用逗号分隔})
db.属性名.findOne:查询集合中符合条件的第一个文档(返回的是文档对象)
修改: -
db.属性名.update(查询条件,新对象,{multi:true}),默认只会修改第一个,加第三个参数则可以修改多个
---- update会使用新对象替换旧对象,如果需要修改指定属性,而不是直接覆盖之前的需要用到:
—KaTeX parse error: Expected '}', got 'EOF' at end of input: …名.update(查询条件,{set:{新对象}})
—unset:可以用来删除文档的指定属性
— db.属性名.updateMany(),修改多个
— db.属性名.updateOne(),修改第一个
— db.属性名.replaceOne():替换
删除
- 通常数据库中的数据不会删除,所以删除的方法很少调用,一般会在数据中添加一个字段,来表示数据是否被删除
---- db.属性名.remove({你要删除的对})
----如果你要删除一个则第二个参数传递一个true,则只会一个
----如果传一个空对象则会删除所有
----db.属性名.deleteOne():删除一个
—db.属性名.deleteMany():删除多个
—db.属性名.drop():删除集合
—删除数据库:db.dropDatabase():