MongoDB 是最流行的 NoSQL 数据库之一,被开发人员广泛用于创建可扩展且灵活的应用程序。与广泛采用的后端开发平台 Node.js 结合使用,您可以构建高效的 API 和强大的应用程序。在这篇博文中,我们将探讨如何使用 Node.js 配置 MongoDB,从安装到执行基本的 CRUD(创建、读取、更新、删除)操作。
MongoDB 是一个面向文档的 NoSQL 数据库。 MongoDB 不像关系数据库那样将数据存储在表中,而是以 JSON 格式存储文档,称为 BSON(二进制 JSON)。这提供了数据建模的灵活性并促进水平可扩展性。
首先,您需要安装 MongoDB。根据您的操作系统,请按照官方 MongoDB 安装网站上的说明进行操作。
为您的项目创建一个新目录并启动 Node.js 项目:
mkdir mongo-node-app cd mongo-node-app npm init -y
下一步是安装 Node.js 的官方 MongoDB 驱动程序:
npm install mongodb
现在,创建一个 index.js 文件来配置与 MongoDB 的连接。我们将使用 MongoClient 连接到数据库。
const { MongoClient } = require('mongodb'); async function connectDB() { const uri = "mongodb://localhost:27017"; // URL do MongoDB local const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true }); try { await client.connect(); console.log("Conectado ao MongoDB"); const db = client.db("mydatabase"); return db; } catch (err) { console.error("Erro ao conectar ao MongoDB", err); } finally { // Fechar a conexão await client.close(); } } connectDB();
要将文档添加到集合中,我们可以使用 insertOne() 或 insertMany() 方法。
async function createDocument(db) { const collection = db.collection("users"); const newUser = { name: "Lucas", age: 25, email: "lucas@example.com" }; const result = await collection.insertOne(newUser); console.log(`Documento inserido com o ID: ${result.insertedId}`); }
要在集合中搜索文档,我们使用 find() 或 findOne()。
async function readDocuments(db) { const collection = db.collection("users"); const users = await collection.find({ age: { $gte: 18 } }).toArray(); console.log(users); }
要更新文档,我们使用 updateOne() 或 updateMany()。
async function updateDocument(db) { const collection = db.collection("users"); const result = await collection.updateOne( { name: "Lucas" }, { $set: { email: "lucas.new@example.com" } } ); console.log(`Documentos atualizados: ${result.modifiedCount}`); }
要删除文档,我们使用deleteOne() 或deleteMany()。
async function deleteDocument(db) { const collection = db.collection("users"); const result = await collection.deleteOne({ name: "Lucas" }); console.log(`Documentos deletados: ${result.deletedCount}`); }
对于大型项目,最好将MongoDB连接和CRUD操作模块化。例如,我们可以为每个实体拥有单独的连接模块和专用服务。
// db.js const { MongoClient } = require('mongodb'); const uri = "mongodb://localhost:27017"; const client = new MongoClient(uri, { useNewUrlParser: true, useUnifiedTopology: true }); async function connectDB() { await client.connect(); const db = client.db("mydatabase"); return db; } module.exports = { connectDB };
// index.js const { connectDB } = require('./db'); async function main() { const db = await connectDB(); // Executar operações de CRUD await createDocument(db); await readDocuments(db); await updateDocument(db); await deleteDocument(db); } main();
MongoDB 和 Node.js 形成了强大的组合,用于构建可扩展的 API 和现代 Web 应用程序。借助 MongoDB 的灵活性和 Node.js 的 JavaScript 环境,您可以快速高效地操作数据。本指南为将 MongoDB 集成到 Node.js 项目(从初始配置到 CRUD 操作)提供了坚实的基础。
如果您想更深入地了解该主题,请考虑探索 MongoDB 中的更多功能,例如索引、聚合和复制。
最后提示:
我希望本指南对 MongoDB 与 Node.js 的集成有所帮助!
以上是MongoDB 与 Node.js 集成 – 完整指南的详细内容。更多信息请关注PHP中文网其他相关文章!