Menu Docs
Página inicial do Docs
/ / /
Driver Rust
/

Insira um documento

Você pode inserir um documento em uma coleção ligando para 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 InsertOneResult tipo 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 .

Este exemplo insere um documento na coleção restaurants do banco de dados sample_restaurants. O método insert_one() insere um documento que tem valores de campo name, borough e cuisine.

Você pode inserir este documento como uma instância do tipo Document ou um tipo de dados personalizado. Para especificar qual tipo de dados representa os dados da coleção, execute as seguintes ações nas linhas realçadas:

  • Para acessar e inserir documentos de coleção como documentos BSON, substitua o parâmetro de tipo <T> por <Document> e o espaço reservado <struct or doc> por insert_doc.

  • Para acessar e inserir documentos de coleção como instâncias da estrutura Restaurant, substitua o parâmetro de tipo <T> por <Restaurant> e o espaço reservado <struct or doc> por insert_struct. A estrutura Restaurant é definida no topo do arquivo de código.

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, 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("...")

Voltar

Encontrar vários