一、Mongoose:
非关系型数据库:对象文档模型(ODM库)
关系型数据库:对象关系模型(ORM)映射表
安装:
1⃣️、yarn init
2⃣️、 yarn add mongoose
二、mongoDB:一个非关系数据库的名称
mongod:启动mongo服务的命令
mongo:连接数据库的命令
mogoose:在Node端连接数据库端一个框架
举个🌰:
1⃣️、引入mongoose
let mongoose = require(‘mongoose’)
2⃣️、创建promise
==let dbPromise = new Promsise((resolve,reject)=> {
//2.连接数据库
mongoose.connect(‘mongodb://localhost:27017/demo’,
{ useNewUrlParser:true}
//3.监听连接状态
mongoose.connection.on(‘open,(err) => {
if(!err){
console.log(‘数据库连接成功了!’)
resolve()
}else{
reject(err)
}}’)
)==
});==
// 4.操作数据库的三种写法()
第一种写法:
dbPromise.then(() => {
console.log(‘可以开始操作了!’)
}, (err) => {
console.log(err);
})
第二种写法
dbPromise
.then(() => {
console.log(‘可以开始操作了2!’)
})
.catch((err) => {
console.log(err);
});
第三种,(最常用的写法)
;(async() => {
// 等待数据库连接成功
await dbPromise;
(进阶) 1⃣️.开始创建数据模型
let Schema = mongoose.Schema; (引入约束 scheam)
2⃣️.制定一个进入你家的规则---- 创建一个约束对象实例
et studentSchema = new Schema({
stu_id: {
type: String,
required: true, //限制学号是必填信息
unique: true //限制学号是唯一的
},
name: {
type: String,
required: true
},
})
3⃣️.告诉保安你的规则------创建模型对象 第一个参数与数据库中的集合相对应,第二个参数制定约束对象实例 只要生成了模型对象,就可以进行数据的,增删改查
module.exports = mongoose.model(‘students’, studentSchema);
举个🌰:
let createResult = await studentModel = mongoose.model
studentModel.create({name:‘加油!’})
();