Express连接MongoDB数据库

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: 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
}
相关文章
|
5月前
|
缓存 NoSQL Linux
在CentOS 7系统中彻底移除MongoDB数据库的步骤
以上步骤完成后,MongoDB应该会从您的CentOS 7系统中被彻底移除。在执行上述操作前,请确保已经备份好所有重要数据以防丢失。这些步骤操作需要一些基本的Linux系统管理知识,若您对某一步骤不是非常清楚,请先进行必要的学习或咨询专业人士。在执行系统级操作时,推荐在实施前创建系统快照或备份,以便在出现问题时能够恢复到原先的状态。
438 79
|
3月前
|
SQL Java 关系型数据库
Java连接MySQL数据库环境设置指南
请注意,在实际部署时应该避免将敏感信息(如用户名和密码)硬编码在源码文件里面;应该使用配置文件或者环境变量等更为安全可靠地方式管理这些信息。此外,在处理大量数据时考虑使用PreparedStatement而不是Statement可以提高性能并防止SQL注入攻击;同时也要注意正确处理异常情况,并且确保所有打开过得资源都被正确关闭释放掉以防止内存泄漏等问题发生。
130 13
|
3月前
|
SQL 关系型数据库 MySQL
MySQL数据库连接过多(Too many connections)错误处理策略
综上所述,“Too many connections”错误处理策略涉及从具体参数配置到代码层面再到系统与架构设计全方位考量与改进。每项措施都需根据具体环境进行定制化调整,并且在执行任何变更前建议先行测试评估可能带来影响。
1043 11
|
4月前
|
运维 NoSQL 容灾
告别运维噩梦:手把手教你将自建 MongoDB 平滑迁移至云数据库
程序员为何逃离自建MongoDB?扩容困难、运维复杂、高可用性差成痛点。阿里云MongoDB提供分钟级扩容、自动诊断与高可用保障,助力企业高效运维、降本增效,实现数据库“无感运维”。
|
3月前
|
缓存 关系型数据库 BI
使用MYSQL Report分析数据库性能(下)
使用MYSQL Report分析数据库性能
148 3
|
3月前
|
关系型数据库 MySQL 数据库
自建数据库如何迁移至RDS MySQL实例
数据库迁移是一项复杂且耗时的工程,需考虑数据安全、完整性及业务中断影响。使用阿里云数据传输服务DTS,可快速、平滑完成迁移任务,将应用停机时间降至分钟级。您还可通过全量备份自建数据库并恢复至RDS MySQL实例,实现间接迁移上云。
|
4月前
|
存储 运维 关系型数据库
从MySQL到云数据库,数据库迁移真的有必要吗?
本文探讨了企业在业务增长背景下,是否应从 MySQL 迁移至云数据库的决策问题。分析了 MySQL 的优势与瓶颈,对比了云数据库在存储计算分离、自动化运维、多负载支持等方面的优势,并提出判断迁移必要性的五个关键问题及实施路径,帮助企业理性决策并落地迁移方案。
|
3月前
|
关系型数据库 MySQL 分布式数据库
阿里云PolarDB云原生数据库收费价格:MySQL和PostgreSQL详细介绍
阿里云PolarDB兼容MySQL、PostgreSQL及Oracle语法,支持集中式与分布式架构。标准版2核4G年费1116元起,企业版最高性能达4核16G,支持HTAP与多级高可用,广泛应用于金融、政务、互联网等领域,TCO成本降低50%。
|
3月前
|
关系型数据库 MySQL 数据库
阿里云数据库RDS费用价格:MySQL、SQL Server、PostgreSQL和MariaDB引擎收费标准
阿里云RDS数据库支持MySQL、SQL Server、PostgreSQL、MariaDB,多种引擎优惠上线!MySQL倚天版88元/年,SQL Server 2核4G仅299元/年,PostgreSQL 227元/年起。高可用、可弹性伸缩,安全稳定。详情见官网活动页。

推荐镜像

更多