文档菜单
文档首页
/ / /
Rust 驱动
/

删除文档

您可以通过调用delete_one() 方法在一个Collection 实例上。

将查询过滤器传递给 delete_one() 方法以匹配要从中删除文档的集合。如果多个文档匹配查询过滤器,MongoDB 将根据数据库中的 自然顺序 或在 DeleteOptions 实例中指定的排序顺序删除第一个匹配的文档。

delete_one() 方法返回一个 DeleteResult 类型。此类型包含有关删除操作结果的信息,例如删除的文档总数。

有关删除操作的更多信息,请参阅删除文档 指南。

此示例从 sample_restaurants 数据库中的 restaurants 集合删除与查询过滤器匹配的文档。

此示例使用查询过滤器,匹配 name 字段值为 "Haagen-Dazs"borough 字段值为 "Brooklyn" 的文档。MongoDB 删除第一个与查询过滤器匹配的文档。

选择异步同步 选项卡以查看每个运行时对应的代码

use mongodb::{
bson::{ Document, doc },
Client,
Collection
};
#[tokio::main]
async fn main() -> mongodb::error::Result<()> {
let uri = "<connection string>";
let client = Client::with_uri_str(uri).await?;
let my_coll: Collection<Document> = client
.database("sample_restaurants")
.collection("restaurants");
let filter =
doc! { "$and": [
doc! { "name": "Haagen-Dazs" },
doc! { "borough": "Brooklyn" }
]
};
let result = my_coll.delete_one(filter).await?;
println!("Deleted documents: {}", result.deleted_count);
Ok(())
}
Deleted documents: 1
use mongodb::{
bson::{ Document, doc },
sync::{ Client, Collection }
};
fn main() -> mongodb::error::Result<()> {
let uri = "<connection string>";
let client = Client::with_uri_str(uri)?;
let my_coll: Collection<Document> = client
.database("sample_restaurants")
.collection("restaurants");
let filter =
doc! { "$and": [
doc! { "name": "Haagen-Dazs" },
doc! { "borough": "Brooklyn" }
]
};
let result = my_coll.delete_one(filter).run()?;
println!("Deleted documents: {}", result.deleted_count);
Ok(())
}
Deleted documents: 1

返回

替换单个文档