# MongoDB 芒果数据库
# NoSQL 简介
sql 就是 Structured Query Language 结构化查询语言 MySQL、Oracle、SQL Server 数据库都是 SQL 数据库, 在大数据时代有些场景使用他们显得太笨重,SQL 有个非常大的缺点,就是限制字段 。 (一张表已经有 10 万条的数据,如果要加一个字段就得刷整张表,SQL 中,表的字段是不能自由更改的,不能某一个条目有一些字段,另外的条目没有)
SQL 的优点,能够轻松执行复杂查找,比如进行主从查找, 在大数据时代 SQL 的优势在衰减,缺点在放大
NoSQL 应运而生,NoSQL 就是 Not Only SQL,不仅仅是 SQL。非关系型数据库。 NoSQL 中没有限制字段,只有条目,每个条目可以自由设置字段
最经典的 NoSQL 数据库,mongoDB
# mongoDB 常用命令
- 使用 mongod 开机
mongod --dbpath /User/db/xxx
# 在 REPL 环境中 (R(read)、E(evaluate)、P(print)、L(loop)) 交互式顶层构件
显示所有数据库
show dbs
显示所有集合
show collections
使用 xx 数据库
use xx
创建一个集合数据库
db.createCollection(name)
显示当前数据库的所有集合列表
show collections
删除某一个数据库集合
db.集合名词.drop()
删除某一个数据库
db.dropDatabase()
CRUD (nodejs 中使用 mongoDB) db.collection('xxx').insertOne({}|[]) db.collection('xxx').insertMany({}|[])
db.collection('xxx').find()
db.collection('xxx').deleteOne() db.collection('xxx').deleteMany()
# 数据库导入 (不是在 repl 中使用)
mongoimport -d 数据库名称 -c 集合名称 /x/xx
# 数据库导出 (不是在 repl 中使用)
mongoexport -d 数据库名称 -c 集合名称 /x/xx
# NodeJs 结合 MongoDB
数据库一定给各种语言提供 API,比如 PHP 可以操作 MySql NodeJs 可以方便操作 MongoDB,依赖的包名叫做 mongodb
- 下载 mongodb
npm i mongodb --save -d