【Express】express-mongoos连接线上MongoDB

简介: 【Express】express-mongoos连接线上MongoDB

【Express】express-mongoos连接线上MongoDB

1、安装mongoos

npm i mongoos

默认安装的是mongoos v7版本的

2、创建model目录模块

在根目录下创建model目录

然后创建/model/config.js文件

//配置文件
//线上mongdb数据库
module.exports = {
    HOST:'255.255.255.255',//你的数据库所在的服务器公网地址
    PORT: 27017,//端口
    NAME: 'express_api',//数据库名称
    USER: 'cwk',//用户名
    PASSWORD: '123456',//密码
}

在/model/db.js文件中

const mongoose = require("mongoose")
const {HOST,PORT,NAME,USER,PASSWORD} = require('./config')
mongoose.set('strictQuery', true);
//连接mongodb服务                           数据库名称
mongoose.connect(`mongodb://${USER}:${PASSWORD}@${HOST}:${PORT}/${NAME}`);
//设置回调
//连接成功的回调
// mongoose.connection.on('open',()=>{
//     console.log('sucess')
// });
//事件回调函数只执行一次
mongoose.connection.once('open',()=>{
    console.log('数据库连接成功!')
});
//设置连接错误的回调
mongoose.connection.on('error',()=>{
    console.log('数据库连接失败!')
});
//设置连接关闭
mongoose.connection.on('close',()=>{
    console.log('close')
});
module.exports = mongoose

在/model/mall_back.js业务数据表

//后台管理数据表
const mongoose = require('./db')
const Schema = mongoose.Schema
//测试表
const testSchema = new Schema({
    title:String
})
//权限表
const powerSchema = new Schema({
    title:String,
    status:{
        type:Boolean,
        default:true
    }
})
//角色表
const roleSchema = new Schema({
    title:String,
    power:{
        type:[Schema.Types.ObjectId],
        ref:"power"
    },
    status:{
        type:Boolean,
        default:true
    }
})
//管理员表
const adminSchema = new Schema({
    phone:{
        type:String
    },
    code:String,
    username:{
        type:String,
        require:true,
        minlength:2
    },
    password:{
        type:String,
        require:true,
    },
    email:String,
    avatar:{
        type:String,
        default:"https://atxc-books-1314112556.cos.ap-beijing.myqcloud.com/avatar_default.jpg"
    },
    create_time:{
        type:Date,
        default:Date.now()
    },
    status:{
        type:Boolean,
        default:true
    },
    last_login:{
        type:Date,
        default:Date.now()
    },
    role:{
        type:Schema.Types.ObjectId,
        ref:'role'
    }
})
const testModel = mongoose.model("test",testSchema,"test")
const powerModel = mongoose.model("power",powerSchema,"power")
const roleModel = mongoose.model("role",roleSchema,"role")
const adminModel = mongoose.model("admin",adminSchema,"admin")
// adminModel.create({
//     phone:"13400405244",
//     code:'0000',
//     username:"admin",
//     password:"admin",
//     email:"13400405244@163.com",
//     role:"64b7581f1794a8eaf8368813",
// })
// roleModel.create({
//     title:"一级管理员",
//     power:[
//         "64b75771486f639082b79588",
//     ]
// })
module.exports = {
    powerModel,
    roleModel,
    adminModel,
    testModel,
}

3、使用

路由视图中引入数据模型,然后直接使用

const { powerModel, roleModel, adminModel,testModel } = require("../model/mall_back")
...


相关文章
|
11月前
|
存储 NoSQL Linux
微服务2——MongoDB单机部署4——Linux系统中的安装启动和连接
本节主要介绍了在Linux系统中安装、启动和连接MongoDB的详细步骤。首先从官网下载MongoDB压缩包并解压至指定目录,接着创建数据和日志存储目录,并配置`mongod.conf`文件以设定日志路径、数据存储路径及绑定IP等参数。之后通过配置文件启动MongoDB服务,并使用`mongo`命令或Compass工具进行连接测试。此外,还提供了防火墙配置建议以及服务停止的两种方法:快速关闭(直接杀死进程)和标准关闭(通过客户端命令安全关闭)。最后补充了数据损坏时的修复操作,确保数据库的稳定运行。
755 0
|
11月前
|
NoSQL JavaScript Shell
微服务2——MongoDB单机部署2——Shell连接
本节介绍如何通过Shell连接MongoDB数据库,使用`mongo`命令登录,默认连接本地127.0.0.1的27017端口。可查看数据库列表(`show databases`),退出shell(`exit`),或通过`--help`获取更多参数。MongoDB Shell基于JavaScript解释器,支持运行JS程序。
281 0
|
NoSQL 网络安全 MongoDB
MongoDB - 连接
10月更文挑战第12天
870 1
|
JavaScript 前端开发
vue配合axios连接express搭建的node服务器接口_简单案例
文章介绍了如何使用Express框架搭建一个简单的Node服务器,并使用Vue结合Axios进行前端开发和接口调用,同时讨论了开发过程中遇到的跨域问题及其解决方案。
300 0
vue配合axios连接express搭建的node服务器接口_简单案例
|
NoSQL 前端开发 JavaScript
Node.js 连接 MongoDB
10月更文挑战第20天
164 0
|
JavaScript NoSQL 前端开发
|
NoSQL 前端开发 JavaScript
Node.js 连接 MongoDB
10月更文挑战第9天
229 0
|
存储 NoSQL MongoDB
01 MongoDB的概述、应用场景、下载方式、连接方式和发展历史等
文章详细介绍了MongoDB的概览、应用场景、下载与连接方式,并涵盖了MongoDB的主要特性及其在数据存储方面的优势。
314 0
|
NoSQL 关系型数据库 Java
实时计算 Flink版产品使用问题之如何使用Flink MongoDB Connector连接MongoDB
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
NoSQL MongoDB 数据库
MongoDB的GUI工具——Robo 3T连接远程数据库MongoDB
MongoDB的GUI工具——Robo 3T连接远程数据库MongoDB
883 0

推荐镜像

更多