Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs 菜单
Docs 主页
/ /

Rust入门

本指南向您展示如何创建一个使用MongoDB Rust驱动程序连接到MongoDB Atlas上托管的MongoDB 集群的应用程序。要学习;了解如何使用不同的驾驶员或编程语言连接到MongoDB ,请参阅我们的官方驱动程序的 列表。

Rust驱动程序是一个函数库,可用于连接到MongoDB并与之通信。

MongoDB Atlas 是完全托管的云数据库服务,旨在托管您的 MongoDB 部署。您可以按照本指南中的步骤创建您的免费(无需信用卡)MongoDB Atlas 部署。

请按照本指南所述步骤,将示例 Rust 应用程序连接到 MongoDB Atlas 部署。

1

确保您的开发环境中安装了Rust 1.74 或更高版本,以及Rust包管理器 Cargo。

有关如何安装Rust和 Cargo 的信息,请参阅有关下载和安装Rust 的Rust官方指南。

2

在您的 Shell 中运行以下命令,为此项目创建一个名为 rust_quickstart 的目录:

cargo new rust_quickstart

此命令成功完成后,您将拥有一个Cargo.toml 文件和一个src 目录, 目录中有一个main.rs rust_quickstart文件。

运行以下命令以导航到项目目录:

cd rust_quickstart
3

将以下 crate 添加到您的项目中,方法是将它们包含在项目的Cargo.toml文件的依赖项列表中:

  • mongodb,Rust 驱动程序箱

  • serde,序列化包

  • futures,一个提供核心抽象的异步运行时包

提示

mongodb 库解析 bson 库,后者是 MongoDB 主要数据表示库。您可以在依赖项列表中省略 bson 库。

驱动程序支持异步和同步运行时。 要查看每个运行时的示例依赖项列表,请从以下 Asynchronous APISynchronous API标签页中进行选择:

[dependencies]
serde = "1.0.188"
futures = "0.3.28"
tokio = {version = "1.32.0", features = ["full"]}
[dependencies.mongodb]
version = "3.5.2"
[dependencies]
serde = "1.0.188"
[dependencies.mongodb]
version = "3.5.2"
features = ["sync"]

要学习;了解有关异步和同步运行时的详情,请参阅异步和同步 API指南。

完成这些步骤后,您就已经安装了 Rust 和 Cargo,以及一个带有必要驱动程序依赖项的新 Rust 项目。

您可以在 MongoDB Atlas 上创建一个免费套餐 MongoDB 部署来存储和管理您的数据。MongoDB Atlas 在云端托管和管理您的 MongoDB 数据库。

1

完成MongoDB入门指南,设立新的Atlas帐户并将示例数据加载到新的免费套餐MongoDB部署。

2

创建数据库用户后,请将该用户的用户名和密码保存在一个安全位置,以便在后续步骤中使用。

完成这些步骤后,您就在 Atlas 上有了一个新的免费套餐 MongoDB 部署、数据库用户档案以及加载到数据库中的示例数据。

您可以通过提供连接 URI(也称为连接字符串 )来连接到MongoDB 部署。连接字符串指示驾驶员如何连接到MongoDB 部署以及连接时如何表现。

连接字符串包含部署的主机名或 IP 地址和端口、身份验证机制、用户档案(如果适用)以及连接选项。

要连接到非 Atlas 托管的实例或部署,请参阅连接到 MongoDB 的其他方法

1

要检索您在上一步中创建的部署的连接字符串,登录您的Atlas帐户并导航到 Database 部分下的 Clusters 页面。单击新部署的 Connect 按钮。

Atlas 用户界面的集群部分中的连接按钮

如果您尚未配置数据库用户, MongoDB会提示您创建并配置新用户。

单击 Connect to your application 下的 Drivers 按钮,从 Driver 选择菜单中选择“Rust”,然后从 Version 选择菜单中选择与您安装的版本最匹配的版本。

确保取消选择 View full code sample 选项以仅查看连接字符串。

2

单击连接string右侧的复制图标,将其复制到剪贴板,如以下屏幕截图所示:

Atlas 用户界面中的连接字符串复制按钮
3

将此连接字符串粘贴到首选文本编辑器中的文件中,并将 <db_password> 占位符替换为数据库用户的密码。连接字符串已填充数据库用户的用户名。

将此文件保存到安全位置,以便在下一步中使用。

完成这些步骤后,您将拥有一个包含数据库用户名和密码的连接字符串。

注意

如果您在此步骤中运行问题,请参阅MongoDB Stack Overflow标签 或MongoDB Reddit 社区 以获取一般技术支持,或参阅连接故障排除指南。

1

打开 rust_quickstart/src项目目录中名为 main.rs 的文件。在此文件中,您可以开始编写应用程序。

将以下代码复制并粘贴到 main.rs 文件:

use mongodb::{
bson::{Document, doc},
Client,
Collection
};
#[tokio::main]
async fn main() -> mongodb::error::Result<()> {
// Replace the placeholder with your Atlas connection string
let uri = "<connection string URI>";
// Create a new client and connect to the server
let client = Client::with_uri_str(uri).await?;
// Get a handle on the movies collection
let database = client.database("sample_mflix");
let my_coll: Collection<Document> = database.collection("movies");
// Find a movie based on the title value
let my_movie = my_coll.find_one(doc! { "title": "The Perils of Pauline" }).await?;
// Print the document
println!("Found a movie:\n{:#?}", my_movie);
Ok(())
}
use mongodb::{
bson::{Document, doc},
sync::{Client, Collection}
};
fn main() -> mongodb::error::Result<()> {
// Replace the placeholder with your Atlas connection string
let uri = "<connection string URI>";
// Create a new client and connect to the server
let client = Client::with_uri_str(uri)?;
// Get a handle on the movies collection
let database = client.database("sample_mflix");
let my_coll: Collection<Document> = database.collection("movies");
// Find a movie based on the title value
let my_movie = my_coll
.find_one(doc! { "title": "The Perils of Pauline" })
.run()?;
// Print the document
println!("Found a movie:\n{:#?}", my_movie);
Ok(())
}
2

<connection string URI> 占位符替换为从本指南的“创建连接字符串”步骤中复制的连接字符串。

3

rust_quickstart项目目录中,运行以下命令以编译并运行此应用程序:

cargo run

命令行输出包含有关检索到的电影文档的详细信息:

Found a movie:
Some(
Document({
"_id": ObjectId(...),
"title": String(
"The Perils of Pauline",
),
"plot": String(
"Young Pauline is left a lot of money ...",
),
"runtime": Int32(
199,
),
"cast": Array([
String(
"Pearl White",
),
String(
"Crane Wilbur",
),
...
]),
}),
)

如果遇到错误或看不到输出,请确保在main.rs文件中指定了正确的连接字符串并加载了样本数据。

注意

如果您在此步骤中运行问题,请参阅MongoDB Stack Overflow标签 或MongoDB Reddit 社区 以获取一般技术支持,或参阅连接故障排除指南。

完成这些步骤后,您有一个正常运行的应用程序,它使用驱动程序连接到 MongoDB 部署、对示例数据运行查询并打印结果。

恭喜您完成快速入门教程!

在本教程中,您创建了一个 Rust 应用程序,该应用程序连接到 MongoDB Atlas 上托管的 MongoDB 部署并检索与查询匹配的文档。

从以下资源了解有关 MongoDB Rust 驱动程序的更多信息:

  • CRUD 操作部分了解如何执行读写操作。

  • 学习如何应用增删改查概念,以使用Rocket构建增删改查的 Web应用程序。

后退

Overview

在此页面上