Puede insertar un documento en una colección llamando a la insert_one() método sobre un
Collection instancia.
El documento insertado debe ser del mismo tipo con el que parametrizaste tu instancia Collection. Por ejemplo, si parametrizaste tu colección con la estructura MyStruct, pasa una instancia MyStruct como parámetro al método insert_one() para insertar un documento. Para aprender más sobre cómo especificar un parámetro de tipo, consulta la
Sección de Parámetros de colección en la guía Bases de datos y colecciones.
El método insert_one() devuelve un tipo InsertOneResult que contiene el campo _id 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 que tiene los campos de name, borough y cuisine para crear modelos de documentos para la colección.
El siguiente código crea una instancia de Restaurant y la inserta en la colección.
Selecciona 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("...")