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
}
相关实践学习
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
相关文章
|
18天前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第21天】本文探讨了MongoDB Atlas的核心特性、实践应用及对云原生数据库未来的思考。MongoDB Atlas作为MongoDB的云原生版本,提供全球分布式、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了云原生数据库的未来趋势,如架构灵活性、智能化运维和混合云支持,并分享了实施MongoDB Atlas的最佳实践。
|
19天前
|
NoSQL Cloud Native atlas
探索云原生数据库:MongoDB Atlas 的实践与思考
【10月更文挑战第20天】本文探讨了MongoDB Atlas的核心特性、实践应用及对未来云原生数据库的思考。MongoDB Atlas作为云原生数据库服务,具备全球分布、完全托管、弹性伸缩和安全合规等优势,支持快速部署、数据全球化、自动化运维和灵活定价。文章还讨论了实施MongoDB Atlas的最佳实践和职业心得,展望了云原生数据库的发展趋势。
|
20天前
|
存储 NoSQL MongoDB
MongoDB 数据库引用
10月更文挑战第20天
13 1
|
27天前
|
存储 NoSQL MongoDB
基于阿里云数据库MongoDB版,微财数科“又快又稳”服务超7000万客户
选择MongoDB主要基于其灵活的数据模型、高性能、高可用性、可扩展性、安全性和强大的分析能力。
|
20天前
|
NoSQL 前端开发 JavaScript
Node.js 连接 MongoDB
10月更文挑战第20天
31 0
|
25天前
|
存储 NoSQL MongoDB
mongodb的数据库表怎么创建
在此过程中,理解并掌握这些基本操作,是深入探索MongoDB魅力,乃至构建高效数据解决方案的关键所在。通过实践,您将更加深刻地体会到这种随需应变的数据管理模式带来的便利与效率提升。
23 0
|
27天前
|
存储 NoSQL MongoDB
小川科技携手阿里云数据库MongoDB:数据赋能企业构建年轻娱乐生态
基于MongoDB灵活模式的特性,小川实现了功能的快速迭代和上线,而数据库侧无需任何更改
|
1月前
|
JavaScript 前端开发 中间件
探索后端技术:Node.js与Express框架的完美融合
【10月更文挑战第7天】 在当今数字化时代,Web应用已成为日常生活不可或缺的一部分。本文将深入探讨后端技术的两大重要角色——Node.js和Express框架,分析它们如何通过其独特的特性和优势,为现代Web开发提供强大支持。我们将从Node.js的非阻塞I/O和事件驱动机制,到Express框架的简洁路由和中间件特性,全面解析它们的工作原理及应用场景。此外,本文还将分享一些实际开发中的小技巧,帮助你更有效地利用这些技术构建高效、可扩展的Web应用。无论你是刚入门的新手,还是经验丰富的开发者,相信这篇文章都能为你带来新的启发和思考。
|
1月前
|
开发框架 JavaScript 前端开发
使用 Node.js 和 Express 构建 Web 应用
【10月更文挑战第2天】使用 Node.js 和 Express 构建 Web 应用
|
12天前
|
JavaScript 中间件 关系型数据库
构建高效的后端服务:Node.js 与 Express 的实践指南
在后端开发领域,Node.js 与 Express 的组合因其轻量级和高效性而广受欢迎。本文将深入探讨如何利用这一组合构建高性能的后端服务。我们将从 Node.js 的事件驱动和非阻塞 I/O 模型出发,解释其如何优化网络请求处理。接着,通过 Express 框架的简洁 API,展示如何快速搭建 RESTful API。文章还将涉及中间件的使用,以及如何结合 MySQL 数据库进行数据操作。最后,我们将讨论性能优化技巧,包括异步编程模式和缓存策略,以确保服务的稳定性和扩展性。