Puede insertar un documento en una colección llamando al insert_one() método en un
Collection instancia.
Debe insertar un documento del mismo tipo con el que parametrizó su instancia Collection. Por ejemplo, si parametrizó su colección con la estructura MyStruct, pase una instancia MyStruct como parámetro al método insert_one() para insertar un documento. Para obtener más información sobre cómo especificar un parámetro de tipo, consulte
Sección deParametrización de colecciones de la guía Bases de datos y colecciones.
El insert_one() método devuelve un tipo InsertOneResult que contiene el _id campo del documento recién insertado.
Para obtener más información sobre el método insert_one(), consultar la guía Insertar Documentos.
Ejemplo
Este ejemplo inserta un documento en la colección restaurants de la base de datos sample_restaurants. El ejemplo utiliza una estructura Restaurant con los campos name, borough y cuisine para modelar los documentos de la colección.
El siguiente código crea una instancia Restaurant y la inserta en la colección.
Seleccione el Asynchronous o la pestaña Synchronous para ver el código correspondiente para cada entorno de ejecución:
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, None).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, None)?; println!("Inserted a document with _id: {}", res.inserted_id); Ok(()) }
Inserted a document with _id: ObjectId("...")