Docs Menu
Docs Home
/ /

Insertar un documento

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.

Este ejemplo inserta un documento en la colección restaurants de la base de datos sample_restaurants. El método insert_one() inserta un documento con los valores de campo name, borough y cuisine.

Puede insertar este documento como una instancia del tipo Document o como un tipo de dato personalizado. Para especificar qué tipo de dato representa los datos de la colección, realice las siguientes acciones en las líneas resaltadas:

  • Para acceder e insertar documentos de colección como documentos BSON, reemplace el parámetro de tipo <T> con <Document> y el marcador de posición <struct or doc> con insert_doc.

  • Para acceder e insertar documentos de colección como instancias de la estructura Restaurant, reemplace el parámetro de tipo <T> por <Restaurant> y el marcador de posición <struct or doc> por insert_struct. La estructura Restaurant se define al principio del archivo de código.

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, Document},
Client,
Collection
};
use serde::{ Deserialize, Serialize };
#[derive(Serialize, Deserialize, Debug)]
struct Restaurant {
borough: String,
cuisine: String,
name: String,
}
#[tokio::main]
async fn main() -> mongodb::error::Result<()> {
let uri = "<connection string>";
let client = Client::with_uri_str(uri).await?;
// Replace <T> with the <Document> or <Restaurant> type parameter
let my_coll: Collection<T> = client
.database("sample_restaurants")
.collection("restaurants");
let insert_doc = doc! {
"name": "Sea Stone Tavern",
"cuisine": "Greek",
"borough": "Queens",
};
let insert_struct = Restaurant {
name: "Sea Stone Tavern".to_string(),
cuisine: "Greek".to_string(),
borough: "Queens".to_string(),
};
// Replace <struct or doc> with the insert_struct or insert_doc variable
let res = my_coll.insert_one(<struct or 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, Document},
sync::{ Client, Collection }
};
use serde::{ Deserialize, Serialize };
#[derive(Serialize, Deserialize, Debug)]
struct Restaurant {
borough: String,
cuisine: String,
name: String,
}
fn main() -> mongodb::error::Result<()> {
let uri = "<connection string>";
let client = Client::with_uri_str(uri)?;
// Replace <T> with the <Document> or <Restaurant> type parameter
let my_coll: Collection<T> = client
.database("sample_restaurants")
.collection("restaurants");
let insert_doc = doc! {
"name": "Sea Stone Tavern",
"cuisine": "Greek",
"borough": "Queens",
};
let insert_struct = Restaurant {
name: "Sea Stone Tavern".to_string(),
cuisine: "Greek".to_string(),
borough: "Queens".to_string(),
};
// Replace <struct or doc> with the insert_struct or insert_doc variable
let res = my_coll.insert_one(<struct or doc>).run()?;
println!("Inserted a document with _id: {}", res.inserted_id);
Ok(())
}
Inserted a document with _id: ObjectId("...")

Volver

Encontrar varios