Repolode
Automattic

Automattic/mongoose

面向 Node.js 异步环境的 MongoDB 对象建模库,提供 Schema、模型、校验与查询功能。

Star
27,460
Fork
4,074
未关闭 Issue
182
最近提交
4小时前

这是什么?

Mongoose 是面向 MongoDB 的对象建模(ODM)库,专为异步运行环境下的 Node.js 应用设计。开发者可以用 Schema 描述文档结构,再以模型实例的形式进行校验、保存、查询和更新。

Schema 可以定义字段类型、默认值、同步与异步校验器、getter 和 setter、索引、中间件钩子、实例方法、静态方法以及插件。基于 Schema 生成的模型提供 find、findOne、findById 等查询方法,文档还支持嵌入式子文档和 populate 跨集合关联查询。

Mongoose 构建在官方 MongoDB Node.js 驱动之上,支持 Node.js,并提供 Deno 的 alpha 版本支持。它也可以通过 createConnection 管理多个数据库连接。另有配套工具 Mongoose Studio,是一个基于浏览器的 MongoDB 图形界面,可直接使用现有的 Mongoose 模型。

核心功能

  • 01通过 Schema 定义字段类型、默认值和校验规则
  • 02通过模型方法查询、创建、更新和删除文档
  • 03支持嵌入式子文档以及 populate 跨集合关联
  • 04提供中间件钩子、实例方法、静态方法和插件机制
  • 05基于官方 MongoDB Node.js 驱动,支持多个数据库连接

适用场景

  • 为使用 MongoDB 的 Node.js 或 Express 后端添加结构化数据层
  • 在文档写入数据库前统一执行校验并设置默认值
  • 通过插件在多个模型之间复用 Schema 逻辑

快速上手

  1. 1

    先安装 Node.js 和 MongoDB

  2. 2

    使用 npm 安装 mongoose 包

    npm install mongoose
  3. 3

    在代码中连接你的 MongoDB 数据库

    await mongoose.connect('mongodb://127.0.0.1/my_database');

使用前须知

  • 需要另外安装 MongoDB 服务器才能使用。

标签

常见问题

mongoose 是什么?
面向 Node.js 异步环境的 MongoDB 对象建模库,提供 Schema、模型、校验与查询功能。 Mongoose 是面向 MongoDB 的对象建模(ODM)库,专为异步运行环境下的 Node.js 应用设计。开发者可以用 Schema 描述文档结构,再以模型实例的形式进行校验、保存、查询和更新。
mongoose 可以免费使用吗?用的什么许可证?
mongoose 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
mongoose 还在维护吗?
活跃维护中。mongoose 最近一次提交是在 2026年10月21日。
mongoose 适合用来做什么?
为使用 MongoDB 的 Node.js 或 Express 后端添加结构化数据层 在文档写入数据库前统一执行校验并设置默认值 通过插件在多个模型之间复用 Schema 逻辑
mongoose 怎么安装和运行?
先安装 Node.js 和 MongoDB 使用 npm 安装 mongoose 包: npm install mongoose 在代码中连接你的 MongoDB 数据库: await mongoose.connect('mongodb://127.0.0.1/my_database');
在哪里获取 mongoose?
源代码和安装说明在 GitHub 上:https://github.com/Automattic/mongoose

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目