【Express】express-mongoos连接线上MongoDB

本文涉及的产品
云数据库 MongoDB,通用型 2核4GB
简介: 【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
相关文章
|
1月前
|
NoSQL Java MongoDB
java连接MongoDB
java连接MongoDB
|
4月前
|
存储 NoSQL 网络安全
修改mongodb的连接参数
在MongoDB中,你可以通过连接字符串(connection string)来配置连接参数。连接字符串是一个包含连接信息的字符串,可以包括主机地址、端口、认证信息、数据库名等。 下面是一些常见的连接参数,你可以根据需要进行修改: 1. **主机地址(host):** MongoDB服务器的地址。可以是IP地址或主机名。 ```mongodb mongodb://localhost:27017 ``` 2. **端口号(port):** MongoDB服务器的端口号。默认端口号是27017。 ```mongodb mongodb://localhost:
140 1
|
5月前
|
NoSQL JavaScript 前端开发
如何使用 Node.js 连接和操作 MongoDB 数据库?
如何使用 Node.js 连接和操作 MongoDB 数据库?
261 2
|
6月前
|
前端开发 NoSQL MongoDB
一款基于Nodejs+express+mongodb的内容管理系统
一款基于Nodejs+express+mongodb的内容管理系统
70 0
|
6月前
|
开发框架 NoSQL JavaScript
mongoDB入门教程四:安装Node+express环境支撑
mongoDB入门教程四:安装Node+express环境支撑
53 0
|
6月前
|
NoSQL MongoDB Python
python mongodb pymongo 连接 身份认证
python mongodb pymongo 连接 身份认证
66 0
|
6月前
|
NoSQL MongoDB 数据库
mongoDB入门教程一:下载安装和环境配置、连接运行
mongoDB入门教程一:下载安装和环境配置、连接运行
208 0
|
12天前
|
NoSQL Java 关系型数据库
Java基础教程(21)-Java连接MongoDB
【4月更文挑战第21天】MongoDB是开源的NoSQL数据库,强调高性能和灵活性。Java应用通过MongoDB Java驱动与之交互,涉及MongoClient、MongoDatabase、MongoCollection和Document等组件。连接MongoDB的步骤包括:配置连接字符串、创建MongoClient、选择数据库和集合。伪代码示例展示了如何建立连接、插入和查询数据。
|
13天前
|
DataWorks NoSQL 关系型数据库
DataWorks操作报错合集之在使用 DataWorks 进行 MongoDB 同步时遇到了连通性测试失败,实例配置和 MongoDB 白名单配置均正确,且同 VPC 下 MySQL 可以成功连接并同步,但 MongoDB 却无法完成同样的操作如何解决
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
30 1
|
1月前
|
JSON NoSQL MongoDB
mongodb 命令行连接及基础命令
mongodb 命令行连接及基础命令