删除文档
您可以通过调用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 }; 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