Menu
×
   ❮   
HTML CSS JAVASCRIPT SQL PYTHON JAVA PHP HOW TO W3.CSS C C++ C# BOOTSTRAP REACT MYSQL JQUERY EXCEL XML DJANGO NUMPY PANDAS NODEJS R TYPESCRIPT ANGULAR GIT POSTGRESQL MONGODB ASP AI GO KOTLIN SASS VUE DSA GEN AI SCIPY AWS CYBERSECURITY DATA SCIENCE
     ❯   

MongoDB Node.js 数据库交互


Node.js 数据库交互

在本教程中,我们将使用 MongoDB Atlas 数据库。如果您还没有 MongoDB Atlas 帐户,可以在 MongoDB Atlas 免费创建一个。

我们还将使用“sample_mflix”数据库,该数据库从我们在 聚合入门 部分中的示例数据加载。


MongoDB Node.js 驱动程序安装

要在 Node.js 中使用 MongoDB,您需要在 Node.js 项目中安装 mongodb 包。

在您的终端中使用以下命令安装 mongodb

npm install mongodb

现在我们可以使用此包连接到 MongoDB 数据库。

在您的项目目录中创建一个 index.js 文件。

index.js

const { MongoClient } = require('mongodb');

连接字符串

为了连接到我们的 MongoDB Atlas 数据库,我们需要从 Atlas 仪表板获取我们的连接字符串。

转到**数据库**,然后点击集群上的**连接**按钮。

选择**连接您的应用程序**,然后复制您的连接字符串。

示例:mongodb+srv://<username>:<password>@<cluster.string>.mongodb.net/myFirstDatabase?retryWrites=true&w=majority

您需要将 <username><password><cluster.string> 替换为您自己的 MongoDB Atlas 用户名、密码和集群字符串。


连接到 MongoDB

让我们添加到我们的 index.js 文件中。

index.js

const { MongoClient } = require('mongodb');

const uri = "<Your Connection String>";
const client = new MongoClient(uri);

async function run() {
  try {
    await client.connect();
    const db = client.db('sample_mflix');
    const collection = db.collection('movies');

    // Find the first document in the collection
    const first = await collection.findOne();
    console.log(first);
  } finally {
    // Close the database connection when finished or an error occurs
    await client.close();
  }
}
run().catch(console.error);
自己尝试一下 »

在您的终端中运行此文件。

node index.js

您应该会看到第一个文档记录到控制台中。


CRUD 和文档聚合

就像我们使用 mongosh 所做的那样,我们可以使用 MongoDB Node.js 语言驱动程序在数据库中创建、读取、更新、删除和聚合文档。

扩展前面的示例,我们可以将 collection.findOne() 替换为 find()insertOne()insertMany()updateOne()updateMany()deleteOne()deleteMany()aggregate()

尝试一下。


×

Contact Sales

If you want to use W3Schools services as an educational institution, team or enterprise, send us an e-mail:
[email protected]

Report Error

If you want to report an error, or if you want to make a suggestion, send us an e-mail:
[email protected]

W3Schools is optimized for learning and training. Examples might be simplified to improve reading and learning. Tutorials, references, and examples are constantly reviewed to avoid errors, but we cannot warrant full correctness of all content. While using W3Schools, you agree to have read and accepted our terms of use, cookie and privacy policy.

Copyright 1999-2024 by Refsnes Data. All Rights Reserved. W3Schools is Powered by W3.CSS.