| Async Runtime let result = collection.find_one(doc! { "title": "Peter Pan" }).await?; |
Sync Runtime let result = collection.find_one(doc! { "title": "Peter Pan" }).run()?; |
|
| Async Runtime let filter = doc! { "year": 1925 }; | let mut cursor = collection.find(filter).await?; |
Sync Runtime let filter = doc! { "year": 1925 }; | let mut cursor = collection.find(filter).run()?; |
|
| Async Runtime let doc = doc! { | "title": "Mistress America", "type": "movie" | }; | | let result = collection.insert_one(doc).await?; |
Sync Runtime let doc = doc! { | "title": "Mistress America", "type": "movie" | }; | | let result = collection.insert_one(doc).run()?; |
|
Insert Multiple Documents
| Async Runtime let docs = vec![ | doc! { "title": "Friends With Money", "runtime": 88 }, | doc! { "title": "Please Give", "runtime": 90 }, | doc! { "title": "You Hurt My Feelings", "runtime": 93 }, | ]; | | let result = collection.insert_many(docs).await?; |
Sync Runtime let docs = vec![ | doc! { "title": "Friends With Money", "runtime": 88 }, | doc! { "title": "Please Give", "runtime": 90 }, | doc! { "title": "You Hurt My Feelings", "runtime": 93 }, | ]; | | let result = collection.insert_many(docs).run()?; |
|
| Async Runtime let filter = doc! { "title": "Burn After Reading"}; | let update = doc! { | "$set": doc!{ "num_mflix_comments": 1 } | }; | | let result = collection.update_one(filter, update).await?; |
Sync Runtime let filter = doc! { "title": "Burn After Reading"}; | let update = doc! { | "$set": doc!{ "num_mflix_comments": 1 } | }; | | let result = collection.update_one(filter, update).run()?; |
|
Update Multiple Documents
| Async Runtime let filter = doc! { "rated": "PASSED"}; | let update = doc! { | "$set": doc!{ "rated": "Not Rated" } | }; | | let result = collection.update_many(filter, update).await?; |
Sync Runtime let filter = doc! { "rated": "PASSED"}; | let update = doc! { | "$set": doc!{ "rated": "Not Rated" } | }; | | let result = collection.update_many(filter, update).run()?; |
|
| Async Runtime let filter = doc! { "title": "è Nous la Libertè" }; | let replacement = doc! { | "title": "À nous la liberté", | "type": "movie", | "directors": vec! [ "René Clair" ] | }; | | let result = collection.replace_one(filter, replacement).await?; |
Sync Runtime let filter = doc! { "title": "è Nous la Libertè" }; | let replacement = doc! { | "title": "À nous la liberté", | "type": "movie", | "directors": vec! [ "René Clair" ] | }; | | let result = collection.replace_one(filter, replacement).run()?; |
|
| Async Runtime let filter = doc! { "title": "Search and Destroy" }; | let result = collection.delete_one(filter).await?; |
Sync Runtime let filter = doc! { "title": "Search and Destroy" }; | let result = collection.delete_one(filter).run()?; |
|
Delete Multiple Documents
| Async Runtime let filter = doc! { | "year": doc! { "$lt": 1920 } | }; | | let result = collection.delete_many(filter).await?; |
Sync Runtime let filter = doc! { | "year": doc! { "$lt": 1920 } | }; | | let result = collection.delete_many(filter).run()?; |
|
Access Data from a Cursor Iteratively
| Async Runtime let mut cursor = collection | .find(doc! { "$and": vec! | [ | doc! { "metacritic": doc! { "$gt": 90 } }, | doc! { "directors": vec! [ "Martin Scorsese" ] } | ] }) | .await?; | | while let Some(result) = cursor.try_next().await? { | println!("{}", result); | } |
Sync Runtime let cursor = collection | .find(doc! { "$and": vec! | [ | doc! { "metacritic": doc! { "$gt": 90 } }, | doc! { "directors": vec! [ "Martin Scorsese" ] } | ] }) | .run()?; | | for result in cursor { | println!("{}", result?); | } |
|
Access Data from a Cursor as an Array
| Async Runtime let cursor = collection.find(doc! { "title": "Secrets & Lies" }).await?; | | let results: Vec<Document> = cursor.try_collect().await?; |
Sync Runtime let cursor = collection.find(doc! { "title": "Secrets & Lies" }).run()?; | | let results: Vec<Result<Document>> = cursor.collect(); |
|
| Async Runtime let filter = doc! { | "languages": vec! [ "Mandarin" ] | }; | | let result = collection.count_documents(filter).await?; |
Sync Runtime let filter = doc! { | "languages": vec! [ "Mandarin" ] | }; | | let result = collection.count_documents(filter).run()?; |
|
List Distinct Values of a Field
| Async Runtime let field_name = "title"; | let filter = doc! { | "directors": vec! [ "Sean Baker" ] | }; | | let results = collection.distinct(field_name, filter).await?; |
Sync Runtime let field_name = "title"; | let filter = doc! { | "directors": vec! [ "Sean Baker" ] | }; | | let results = collection.distinct(field_name, filter).run()?; |
|
Limit the Number of Documents Retrieved
| Async Runtime let filter = doc! { "awards.wins": 25}; | let mut cursor = collection.find(filter).limit(5).await?; |
Sync Runtime let filter = doc! { "awards.wins": 25}; | let mut cursor = collection.find(filter).limit(5).run()?; |
|
| Async Runtime let filter = doc! { "runtime": 100 }; | let mut cursor = collection.find(filter).skip(1).await?; |
Sync Runtime let filter = doc! { "runtime": 100 }; | let mut cursor = collection.find(filter).skip(1).run()?; |
|
Sort the Documents When Retrieving Them
| Async Runtime let filter = doc! { | "directors": vec! [ "Nicole Holofcener" ] | }; | | let mut cursor = collection | .find(filter) | .sort(doc! { "imdb.rating": 1 }) | .await?; |
Sync Runtime let filter = doc! { | "directors": vec! [ "Nicole Holofcener" ] | }; | | let mut cursor = collection | .find(filter) | .sort(doc! { "imdb.rating": 1 }) | .run()?; |
|
Project Document Fields When Retrieving Them
| Async Runtime let filter = doc! { "year": 2015 }; | let mut cursor = collection | .find(filter) | .projection(doc! { "title": 1, "metacritic": 1, "_id": 0 }) | .await?; |
Sync Runtime let filter = doc! { "year": 2015 }; | let mut cursor = collection | .find(filter) | .projection(doc! { "title": 1, "metacritic": 1, "_id": 0 }) | .run()?; |
|
| Async Runtime let index: IndexModel = IndexModel::builder().keys(doc! { "title": 1 }).build(); | | let result = collection.create_index(index).await?; |
Sync Runtime let index: IndexModel = IndexModel::builder().keys(doc! { "title": 1 }).build(); | | let result = collection.create_index(index).run()?; |
|