mongoose的介绍,连接数据库

Mongoose 是一个基于 Node.js 的 MongoDB ODM(Object Data Modeling)库,用于在 MongoDB 和 Node.js 应用之间提供结构化的模型层,帮助你更优雅、安全地操作数据库。


🧾 一、Mongoose 简介

  • 📦 功能

    • 定义数据模型(Schema)
    • 提供强大的验证机制
    • 支持中间件(middleware)、钩子(hooks)
    • 提供简洁的增删查改(CRUD)接口
  • 🧠 适用场景

    • 使用 Node.js 开发需要与 MongoDB 交互的项目
    • 希望对 MongoDB 文档结构进行更严格控制时

🔗 二、使用 Mongoose 连接数据库

1. 安装 mongoose

复制代码
npm install mongoose

2. 连接 MongoDB(最基本示例)

复制代码
const mongoose = require('mongoose')

mongoose.connect('mongodb://localhost:27017/myDatabase', {
  useNewUrlParser: true,
  useUnifiedTopology: true,
})
.then(() => {
  console.log('✅ MongoDB 连接成功')
})
.catch((err) => {
  console.error('❌ MongoDB 连接失败:', err)
})

mongodb://localhost:27017/myDatabase 中:

  • localhost 是主机地址
  • 27017 是默认端口
  • myDatabase 是数据库名,不存在时会在插入数据时自动创建

🏗️ 三、Mongoose 基础结构示意

复制代码
// 1. 定义 schema(数据结构)
const userSchema = new mongoose.Schema({
  name: String,
  age: Number,
  email: String
})

// 2. 创建模型(Model)=> 会映射为 MongoDB 中的集合
const User = mongoose.model('User', userSchema)

// 3. 使用模型进行操作
User.create({ name: 'Tom', age: 20, email: 'tom@example.com' })

相关推荐
金仓拾光集2 小时前
筑牢风控生命线:金仓数据库替代MongoDB,重构证券融资融券业务的数据基石
数据库·mongodb·信创·1024程序员节·kingbasees·国产化替代
那我掉的头发算什么2 小时前
【数据库】navicat的下载以及数据库约束
android·数据库·数据仓库·sql·mysql·数据库开发·数据库架构
纪伊路上盛名在2 小时前
如何批量获取蛋白质序列的所有结构域(domain)数据-2
数据库·人工智能·机器学习·统计·计算生物学·蛋白质
2301_772093563 小时前
高并发webserver_interview
运维·服务器·数据库·后端·网络协议·mysql·wireshark
yumgpkpm4 小时前
CMP(类ClouderaCDP7.3(404次编译) )完全支持华为鲲鹏Aarch64(ARM),粉丝数超过200就开源下载
hive·hadoop·redis·mongodb·elasticsearch·hbase·big data
大G的笔记本5 小时前
MySQL 大表查询优化、超大分页处理、SQL 慢查询优化、主键选择
数据库·sql·mysql
Lear5 小时前
Redis 持久化机制
数据库
儒道易行5 小时前
【攻防实战】Redis未授权RCE联动metasploit打穿三层内网(上)
数据库·redis·网络安全·缓存
小宁爱Python6 小时前
从零搭建 RAG 智能问答系统 6:Text2SQL 与工作流实现数据库查询
数据库·人工智能·python·django
yjsstar6 小时前
数据库MySQL基础
数据库·mysql