Node.js与MongoDB集成:构建高效数据层

Node.js与MongoDB集成:构建高效数据层

引言

MongoDB是Node.js应用的常用NoSQL数据库,适合快速开发。本文将指导你用Node.js和MongoDB官方驱动实现CURD操作,并分享性能优化技巧。

环境搭建

安装依赖:npm install mongodb

连接MongoDB

1
2
3
4
5
6
7
8
9
10
11
const { MongoClient } = require('mongodb');

async function connectDB() {
const client = new MongoClient('mongodb://localhost:27017');
try {
await client.connect();
return client.db('test');
} catch (err) {
console.error('连接失败:', err);
}
}

CURD操作

插入和查询数据:

1
2
3
4
5
6
7
8
9
10
11
12
13
async function main() {
const db = await connectDB();
const collection = db.collection('users');

// 插入
await collection.insertOne({ name: 'Alice', age: 25 });

// 查询
const users = await collection.find({ age: { $gte: 20 } }).toArray();
console.log('用户:', users);
}

main();

性能优化

  • 索引:为常用查询字段添加索引:
1
await collection.createIndex({ name: 1 });
  • 批量操作:使用insertMany批量插入。
  • 连接池:配置maxPoolSize控制连接数。

注意事项

  • 错误重试:实现重试逻辑处理网络中断。
  • 数据验证:使用Mongoose添加Schema验证。
  • 安全:使用环境变量存储MongoDB凭证。

总结

Node.js与MongoDB的集成提供了灵活的数据层实现。通过优化索引和连接池,开发者可以构建高效的数据库操作。希望本文的示例为你的Node.js项目提供指导!