Mongooose 入门
- 特点:
- 通过关系型数据库的思想来设计非关系型数据库
- 基于MongoDB驱动,简化操作
官方文档http://www.mongoosejs.net/docs/index.html
-
安装
npm i mongoose --save -
引入mongoose 并连接数据库 并连接
const mongoose = require("mongoose");
mongoose.connect('mongodb://eggadmin:123@localhost:27017/cms'); -
定义Schema
- 数据库中的Schema,为数据库对象的集合,schema 是 mongoose 里会用到的一种数据模式,可以理解为对表结构的定义;每个schema 会映射到mongodb 中的一个collection,它不具备操作数据库的能力;
// app/model/user.js
module.exports = app => {
let mongoose = app.mongoose;
var UserSchema = new mongoose.Schema({
username:{
type:String,
unique:true,
},
password:String,
name:String,
age:Number,
sex:String,
tel:Number,
status:{
type:Number,
default:1,
},
});
return mongoose.model('User', UserSchema , 'user');
}
4.创建数据模型
- 定义好了Schema,接下来就是生成Model,model 是由schema 生成的模型,可以对数据库操作
mongoose.model里面可以传入两个参数也可以传入三个参数
如果只传2个参数,这个模型会和模型名称相同的复数的数据库建立链接
var User = mongoose.model("User",UserSchema); // 将链接users这个集合;
mongoose.model(参数1:模型名称首字母大写,参数2:Schema,参数3:数据库集合名称);
5.查找数据 都接受一个回调函数来判断错误;
User.find({},function(err,doc){
if(err){
console.log(err);
return;
}
console.log(docs);
})
6.增加数据 实例化模型,传入增加的数据
var u = new User({
name:'lishi123',
age:20,
status:true,
})
u.save();
7.修新匹配到的第一条数据
User.updateOne({name:'list123'},{name:'哈哈哈'},function(err,res){
if(err){
console.log(err);
return;
}
conosole.log('成功');
})
8.删除匹配到的第一条数据
User.deleteOne({_Id:'123456789'},function(err){
if(err){
console.log(err);
return;
}
console.log('成功');
})
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步