Você pode inserir um documento em uma coleção chamando o métodoinsert_one() em uma Collection
instância.
Você deve inserir um documento do mesmo tipo com o qual parametrizou sua instância Collection
. Por exemplo, se você parametrizou sua coleção com a estrutura MyStruct
, passe uma instância MyStruct
como parâmetro para o método insert_one()
para inserir um documento. Para saber mais sobre como especificar um parâmetro de tipo, consulte a seção Parametrização de collections do guia Bancos de dados e collections.
O insert_one()
método retorna um tipo InsertOneResult que contém o _id
campo do documento recém-inserido.
Para saber mais sobre o método insert_one()
, consulte o guia Inserir documentos .
Exemplo
Este exemplo insere um documento na collection restaurants
do reconhecimento de data center sample_restaurants
. O exemplo utiliza uma estrutura Restaurant
que tem campo name
, borough
e cuisine
para modelar documento na collection.
O código a seguir cria uma instância Restaurant
e a insere na coleção.
Selecione a aba Asynchronous ou Synchronous para ver o código correspondente para cada tempo de execução:
use std::env; use mongodb::{ bson::doc, Client, Collection }; use serde::{ Deserialize, Serialize }; struct Restaurant { borough: String, cuisine: String, name: String, } async fn main() -> mongodb::error::Result<()> { let uri = "<connection string>"; let client = Client::with_uri_str(uri).await?; let my_coll: Collection<Restaurant> = client .database("sample_restaurants") .collection("restaurants"); let doc = Restaurant { name: "Sea Stone Tavern".to_string(), cuisine: "Greek".to_string(), borough: "Queens".to_string(), }; let res = my_coll.insert_one(doc).await?; println!("Inserted a document with _id: {}", res.inserted_id); Ok(()) }
Inserted a document with _id: ObjectId("...")
use std::env; use mongodb::{ bson::doc, sync::{ Client, Collection } }; use serde::{ Deserialize, Serialize }; struct Restaurant { borough: String, cuisine: String, name: String, } fn main() -> mongodb::error::Result<()> { let uri = "<connection string>"; let client = Client::with_uri_str(uri)?; let my_coll: Collection<Restaurant> = client .database("sample_restaurants") .collection("restaurants"); let doc = Restaurant { name: "Sea Stone Tavern".to_string(), cuisine: "Greek".to_string(), borough: "Queens".to_string(), }; let res = my_coll.insert_one(doc).run()?; println!("Inserted a document with _id: {}", res.inserted_id); Ok(()) }
Inserted a document with _id: ObjectId("...")