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' })

相关推荐
这个DBA有点耶3 分钟前
MySQL深分页优化:从LIMIT 1000000,10到毫秒级响应的三种写法
数据库·程序人生·mysql·性能优化·学习方法·dba·改行学it
通往曙光的路上23 分钟前
mysql3
数据库
阿坤带你走近大数据27 分钟前
什么是 REDO LOG,它在 Oracle 数据库中的作用是什么?
数据库·oracle
东风破13732 分钟前
DM8搭建同构(dm-dm)及异构数据库(dm-oracle,dm-mysql)的dblink
数据库·mysql·oracle
凭X而动40 分钟前
postgresql18.1部署
数据库·postgresql
万邦科技Lafite40 分钟前
京东商品详情 API 接口全面讲解
java·数据库·redis·api·电商开放平台
无风听海43 分钟前
MongoDB GridFS 一些处理细节解析
数据库·mongodb
青云计划1 小时前
Mysql
数据库·mysql
SelectDB1 小时前
Agent 应用范式下,企业数据基础设施如何演进?
大数据·数据库·数据分析
杜子不疼.1 小时前
【C++ AI 大模型接入 SDK】 - 环境搭建
开发语言·数据库·c++