mongDB
MongDB是一种面向文档的数据库,也就是非关系型数据库
下载官网https://www.mongodb.com/
那么关系型数据库的典型就是mySQL,oracle.....
关系型数据库
其以行和列的形式存储数据,以便于用户理解,关系型数据库这一系列的行和列被称为表,一组表组成了数据库。
非关系型数据库
非关系型数据库是分布式的、非关系型的、不保证遵循ACID原则的数据存储系统。
ACID是数据库管理系统的四种特性:[原子性](atomicity,或称不可分割性)、[一致性](consistency)、[隔离性](isolation,又称独立性)、[持久性](durability)。
一般采用键值对的形式存储数据,如
{
name:"老王",
age:"30"
},
{
name:"老张",
age:"30",
sex:"男",
_id:67387137
}
那么我们在存储每一条数据(文档)的时候,都会自带一个特殊的键就是_id:id值
,这个键在集合中是唯一的
当然文档也可以理解为一个键值对
的有序集
键不能含有\0
空字符 因为空字符表示键的结尾
.``$
符号只有特定条件可以用
注意:mongoDB中键不能有重复的键
如
{
foo:123;
foo:111;
}
这样是不合法的
在node中使用mongoDB数据库,来执行增删改查等操作
1.连接数据库 2.创建数据库 3.创建表
首先安装一个包npm i mongoose -S
来操纵mongoDB
- 1.连接数据库
const mongoose = require("mongoose")
//连接数据库
mongoose .connect("mongodb://localhost:27017/project1",{
useNewUrlParser: true,
useUnifiedTopology: true
})//固定的
.then(()=>{
console.log("成功");
}).catch(()=>{
console.log("失败");
})
- 2创建数据库
在连接mongodb://localhost:27017的路由后面加名字,就是创建了一个新数据库
mongoDB还会监听一个比主端口号高1000的端口,也就是说是28017端口。通过浏览器访问http://localhost:28017,能获取管理数据库的信息 - 3建表规则
建表之前要先制定一套表规则
建一个用户表 user
let userSchema = new mongoose.Schema({
//数据有哪些字段,每个字段的规则
user:{
//数据类型
type:String,
minlength:6,
maxlength:12,
//是否必须
require:true
}
});
基本类型:
type:
String Number Boolean...........
required 是否必须
default 默认值
enum 枚举['男','女']针对type:String
minlength:数字,
maxlength:数字
match:正则针对type:Number
min:数字;
max:数字;存数组
arr:[
//写规则
{
type:String
}
];存对象
obj:{
key1:{
规则
},
key2:{
规则
}
}
更多schema选项在http://www.mongoosejs.net/docs/api.html#Schema
- 4 建表
//建表
let userDB = mongoose.model("user",userSchema)
- 5存数据
//存数据
userDB.create({
user:"hhhhhh"
})
网友评论