Express连接MongoDB数据库

Express连接MongoDB数据库

1、安装mongoose@6

npm i mongoose@6

2、创建一个model文件夹 --model/db.js

const mongoose = require("mongoose")
mongoose.set('strictQuery', true);
mongoose.connect("mongodb://127.0.0.1:27017/db_user1",(err)=>{
    if(!err){
        return console.log("数据库连接成功")
    }
    
    console.log("数据库连接失败")
})
 
module.exports = mongoose

3、model/model.js

const { version } = require("mongoose")
let mongoose = require("./db")
 
let Schema = mongoose.Schema
 
let userSchema = new Schema({
    name:{
        type:String,
        require:true,
        minlength:2
    },
    password:{
        type:String,
    },
    userInfoId:{
        type:Schema.Types.ObjectId,
        ref:"userInfo"
    }
})
 
let userInfoSchema = new Schema({
    nickname:{
        type:String,
        minlength:2
    },
    age:{
        type:Number,
        max:150,
        min:1
    },
    sex:{
        type:String,
        default:"男"
    },
    phone:{
        type:String,
        match:/^1[35678]\d{9}$/
    },
    email:{
        type:String,
        match:/^[a-zA-Z0-9][a-zA-Z0-9_]+\@[a-zA-Z0-9]+\.(com|cn|net|com.cn)$/i
    },
    createTime:{
        type:Date,
        default:new Date()
    },
    user:{
        type:Schema.Types.ObjectId,
        ref:"user"
    }
},{versionKey:false})
 
let categorySchema = new Schema({
    name:String,
    level:Number,
    pid:{
        type:Schema.Types.ObjectId,
        ref:"category"
    }
})
 
const userModel = mongoose.model("user",userSchema,"user")
const userInfoModel = mongoose.model("userInfo",userInfoSchema,"userInfo")
const categoryModel = mongoose.model("category",categorySchema,"category")
 
// userInfoModel.create({
//     nickname:"十一",
//     age:18,
//     sex:"男",
//     phone:"13400405244",
//     email:"13400405244@163.com",
//     user:"63f60415413fa76ad888aaf7"
// })
 
// categoryModel.create({
//     name:"手枪",
//     level:3,
//     pid:'63f70749042b360023cec927'
// })
 
module.exports = {
    userModel,
    userInfoModel,
    categoryModel
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值