数据表之间存在一定的关联性
所有的查询 关系 sql语句来实现 select * from xxx
在使用数据库之前 先设计数据表 insert into (name,upass,xxxxx)
约束 唯一的主键
Nosql数据库 没有sql语句
key:value 存储方式
非常灵活 key8i任意操作
最像关系型数据库的 菲关系型数据库
数据库 —》数据库
数据表 —》集合(数组)
表记录 —》对象
不需要设计数据表,可以任意的插入数据,没有任何的结构性
1.下载安装
https://www.mongodb.com/try/download/community
2.配置环境变量
C:\Program Files\MongoDB\Server\3.4\bin
3.检测安装是否成功
mongod --version
4.启动mongodb数据库
mongodb数据库 默认将数据保存到 所在磁盘的根目录下 data/db
c:\data\db
命令行 输入 mongod
5.连接数据库
mongo
show dbs 显示所有数据库
admin 0.000GB
local 0.000GB
test 0.000GB
db 显示当前操作的数据库
use 数据库名称 切换到不同的数据库
show collections 显示所有集合
插入一条数据
db.集合名.insertOne({key:value})
启动——>连接
Node 连接 mongodb
模块 mongodb模块 操作 mongodb数据库
http://mongodb.github.io/node-mongodb-native/3.4/quick-start/quick-start/
mongooes 第三方
// moongodb 第三方模块mongoose const mongoose=require("mongoose") let Schema=mongoose.Schema //定义一个schema变量 // 利用mongoose 连接到本地mongodb数据库 mongoose.connect("mongodb://localhost/lol") // 数据库>集合>对象>文档类型 // 1.通过schema模型 创建文档解构的规范(设计数据表) lol_user : username,upass let userSchema=new Schema({ username:{ type:"string", //类型 require:true //是否必备 }, upass:{ type:"string", require:true } }) // 2.通过对应规范 -> 创建集合(模型) model:(第一个参数是集合名,首字母大写,不需要+s),(规范名) let Student=mongoose.model("Student",userSchema)
增加数据:
// 增加数据 let admin=new Student({ //通过Student集合 创建admin对象的数据出来 username:"admin", upass:"123" }) admin.save((err,data)=>{ //把admin对象放入Student集合 if(err){ console.log("err") }else{ console.log("成功") // console.log(data) } })
查找数据:
// 查找数据 Student.find({"upass":"123"},(err,data)=>{ if(err){ console.log("err") }else{ console.log("成功") console.log(data) } })
删除数据:
// 删除数据 Student.remove({"upass":"789"},(err,data)=>{ if(err){ console.log("err") }else{ console.log("成功") console.log(data) } })
更新数据:
// 更新数据 Student.findByIdAndUpdate("60e6a30430249533c87e8fbb",{"upass":"888"},(err,data)=>{ if(err){ console.log("err") }else{ console.log("成功") console.log(data) } })