Overview
本指南向您展示如何创建一个使用MongoDB Rust驱动程序连接到MongoDB Atlas上托管的MongoDB 集群的应用程序。要学习;了解如何使用不同的驾驶员或编程语言连接到MongoDB ,请参阅我们的官方驱动程序的 列表。
Rust驱动程序是一个函数库,可用于连接到MongoDB并与之通信。
MongoDB Atlas 是完全托管的云数据库服务,旨在托管您的 MongoDB 部署。您可以按照本指南中的步骤创建您的免费(无需信用卡)MongoDB Atlas 部署。
请按照本指南所述步骤,将示例 Rust 应用程序连接到 MongoDB Atlas 部署。
下载并安装
安装Rust和 Cargo。
确保您的开发环境中安装了Rust 1.74 或更高版本,以及Rust包管理器 Cargo。
有关如何安装Rust和 Cargo 的信息,请参阅有关下载和安装Rust 的Rust官方指南。
安装Rust驱动程序。
将以下 crate 添加到您的项目中,方法是将它们包含在项目的Cargo.toml文件的依赖项列表中:
mongodb,Rust 驱动程序箱serde,序列化包futures,一个提供核心抽象的异步运行时包
提示
mongodb 库解析 bson 库,后者是 MongoDB 主要数据表示库。您可以在依赖项列表中省略 bson 库。
驱动程序支持异步和同步运行时。 要查看每个运行时的示例依赖项列表,请从以下 Asynchronous API和Synchronous 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 部署
您可以在 MongoDB Atlas 上创建一个免费套餐 MongoDB 部署来存储和管理您的数据。MongoDB Atlas 在云端托管和管理您的 MongoDB 数据库。
在Atlas上创建免费的MongoDB部署。
完成MongoDB入门指南,设立新的Atlas帐户并将示例数据加载到新的免费套餐MongoDB部署。
完成这些步骤后,您就在 Atlas 上有了一个新的免费套餐 MongoDB 部署、数据库用户档案以及加载到数据库中的示例数据。
创建连接字符串
您可以通过提供连接 URI(也称为连接字符串 )来连接到MongoDB 部署。连接字符串指示驾驶员如何连接到MongoDB 部署以及连接时如何表现。
连接字符串包含部署的主机名或 IP 地址和端口、身份验证机制、用户档案(如果适用)以及连接选项。
要连接到非 Atlas 托管的实例或部署,请参阅连接到 MongoDB 的其他方法。
查找MongoDB Atlas连接字符串。
要检索您在上一步中创建的部署的连接字符串,登录您的Atlas帐户并导航到 Database 部分下的 Clusters 页面。单击新部署的 Connect 按钮。

如果您尚未配置数据库用户, MongoDB会提示您创建并配置新用户。
单击 Connect to your application 下的 Drivers 按钮,从 Driver 选择菜单中选择“Rust”,然后从 Version 选择菜单中选择与您安装的版本最匹配的版本。
确保取消选择 View full code sample 选项以仅查看连接字符串。
完成这些步骤后,您将拥有一个包含数据库用户名和密码的连接字符串。
注意
如果您在此步骤中运行问题,请参阅MongoDB Stack Overflow标签 或MongoDB Reddit 社区 以获取一般技术支持,或参阅连接故障排除指南。
连接至 MongoDB
创建Rust应用程序。
打开 rust_quickstart/src项目目录中名为 main.rs 的文件。在此文件中,您可以开始编写应用程序。
将以下代码复制并粘贴到 main.rs 文件:
use mongodb::{ bson::{Document, doc}, Client, Collection }; 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(()) }
指定连接字符串。
将 <connection string URI> 占位符替换为从本指南的“创建连接字符串”步骤中复制的连接字符串。
运行Rust应用程序。
在 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 操作部分了解如何执行读写操作。
