首页 > web前端 > js教程 > 正文

如何连接数据库_javascript中mongoose怎么用?

php中文网
发布: 2025-12-14 19:02:53
原创
213人浏览过
Mongoose 连接 MongoDB 的核心流程是:安装依赖 → 创建连接 → 定义 Schema 和 Model → 增删改查;它是基于 mongodb 原生驱动的高级 ORM 工具,简化数据建模与操作。

如何连接数据库_javascript中mongoose怎么用?

在 JavaScript 中用 Mongoose 连接数据库,核心是:安装依赖 → 创建连接 → 定义 Schema 和 Model → 增删改查。它不是直接操作 MongoDB 的驱动(那是 mongodb 原生驱动),而是基于它的高级 ORM 工具,帮你简化数据建模和操作。

安装与基础连接

先确保已安装 Node.js 和 MongoDB(本地或云服务如 MongoDB Atlas)。然后在项目中安装:

npm install mongoose

连接代码通常写在入口文件(如 index.jsdb.js)里:

立即学习Java免费学习笔记(深入)”;

// db.js
const mongoose = require('mongoose');
const url = 'mongodb://127.0.0.1:27017/myapp'; // 本地示例
// 或 Atlas 连接字符串:'mongodb+srv://user:pass@cluster.mongodb.net/dbname?retryWrites=true'
mongoose.connect(url, { useNewUrlParser: true, useUnifiedTopology: true })
.then(() => console.log('✅ 数据库连接成功'))
.catch(err => console.error('❌ 连接失败:', err));

定义 Schema 和 Model

Schema 描述文档结构和字段规则,Model 是基于 Schema 编译出的操作接口:

// user.model.js
const mongoose = require('mongoose');
const userSchema = new mongoose.Schema({
name: { type: String, required: true },
email: { type: String, required: true, unique: true },
age: { type: Number, min: 0 }
});
module.exports = mongoose.model('User', userSchema); // 集合名自动变为复数:users

基本 CRUD 操作

导入 Model 后就能增删改查了,所有方法返回 Promise(可 await 或 .then):

  • 创建User.create({ name: '张三', email: 'zhang@example.com', age: 25 })
  • 查询全部User.find({});带条件:User.find({ age: { $gte: 18 } })
  • 查单个User.findOne({ email: 'zhang@example.com' })User.findById(id)
  • 更新User.findByIdAndUpdate(id, { name: '李四' }, { new: true })new: true 返回更新后数据)
  • 删除User.findByIdAndDelete(id)User.deleteMany({ age: { $lt: 18 } })

常见注意点

  • Mongoose 默认开启 useNewUrlParseruseUnifiedTopology,不加会警告
  • 连接成功后才执行操作,建议把业务逻辑放在 mongoose.connect().then(...) 里,或用 await mongoose.connect(...)
  • Model 名首字母大写,Mongoose 会自动转为小写复数作为集合名(Userusers
  • 字段设 required: true 只在 save 时校验,不作用于 update 操作(除非加 runValidators: true

基本上就这些。上手不难,关键是理解 Schema 约束、Model 接口和异步流程。写几个增删查试试,很快就能用起来。

以上就是如何连接数据库_javascript中mongoose怎么用?的详细内容,更多请关注php中文网其它相关文章!

java速学教程(入门到精通)
java速学教程(入门到精通)

java怎么学习?java怎么入门?java在哪学?java怎么学才快?不用担心,这里为大家提供了java速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号