Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

Insertar un documento

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.

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.

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

  • Para acceder e insertar documentos en la colección como documentos BSON, reemplaza el parámetro de tipo <T> por <Document> y el marcador de posición <struct or doc> por 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 en la parte superior del archivo de código.

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, 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