【Express】express-mongoos连接线上MongoDB

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: 【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")
...


相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
2月前
|
NoSQL 网络安全 MongoDB
MongoDB - 连接
10月更文挑战第12天
19 1
|
2月前
|
NoSQL 前端开发 JavaScript
Node.js 连接 MongoDB
10月更文挑战第20天
42 0
|
2月前
|
NoSQL 前端开发 JavaScript
Node.js 连接 MongoDB
10月更文挑战第9天
54 0
|
3月前
|
JavaScript 前端开发
vue配合axios连接express搭建的node服务器接口_简单案例
文章介绍了如何使用Express框架搭建一个简单的Node服务器,并使用Vue结合Axios进行前端开发和接口调用,同时讨论了开发过程中遇到的跨域问题及其解决方案。
66 0
vue配合axios连接express搭建的node服务器接口_简单案例
|
3月前
|
存储 NoSQL MongoDB
01 MongoDB的概述、应用场景、下载方式、连接方式和发展历史等
文章详细介绍了MongoDB的概览、应用场景、下载与连接方式,并涵盖了MongoDB的主要特性及其在数据存储方面的优势。
39 0
|
4月前
|
JavaScript NoSQL 前端开发
|
6月前
|
NoSQL 关系型数据库 Java
实时计算 Flink版产品使用问题之如何使用Flink MongoDB Connector连接MongoDB
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
6月前
|
NoSQL Shell 网络安全
MongoDB连接指南:从基础到进阶
MongoDB连接指南:从基础到进阶
181 1
|
6月前
|
JavaScript NoSQL 数据库连接
使用Nodejs + express连接数据库mongoose
【6月更文挑战第3天】这篇文章介绍了如何在Express应用中使用Mongoose连接MongoDB数据库。首先,需要创建一个`db.js`文件,然后通过`npm install mongoose`安装Mongoose驱动。接着,在应用中引入MongoDB模块,建立到数据库的连接。创建一个Mongoose schema定义数据模型,如用户信息表。最后,执行数据库操作,包括查询、插入、更新和删除文档,并在完成后关闭数据库连接。文中还提供了相关代码示例。
203 1
|
5月前
|
NoSQL MongoDB 数据库
MongoDB的GUI工具——Robo 3T连接远程数据库MongoDB
MongoDB的GUI工具——Robo 3T连接远程数据库MongoDB
391 0