Overview
En esta página, puede ver ejemplos de código copiables que muestran métodos comunes del controlador C++ para escribir datos en MongoDB.
Tip
Para obtener más información sobre cualquiera de los métodos que se muestran en esta página, consulte el enlace proporcionado en cada sección.
Para utilizar un ejemplo de esta página, copie el ejemplo de código en el
Aplicación de muestra o su propia aplicación. Asegúrese de reemplazar todos los marcadores de posición, como <connection string>, con los valores relevantes para su implementación de MongoDB.
Aplicación de muestra
Puede utilizar la siguiente aplicación de muestra para probar los ejemplos de código en esta página. Para usar la aplicación de muestra, siga los siguientes pasos:
Asegúrate de tener instalado el driver C++ en una ubicación desde la que tu Proyecto pueda importarlo.
Copie el siguiente código y péguelo en un nuevo archivo
.cppdentro de su proyecto.Copie un ejemplo de código de esta página y péguelo dentro de la sección resaltada del archivo.
1 2 3 4 5 6 7 8 9 10 using bsoncxx::builder::basic::kvp; 11 using bsoncxx::builder::basic::make_document; 12 13 int main() { 14 try { 15 mongocxx::instance instance; 16 17 mongocxx::uri uri("<connection string>"); 18 mongocxx::client client(uri); 19 20 auto database = client["<database name>"]; 21 auto collection = database["<collection name>"]; 22 23 // Start example code here 24 25 // End example code here 26 27 } catch (const mongocxx::exception& e) { 28 std::cout << "An exception occurred: " << e.what() << "\n"; 29 return EXIT_FAILURE; 30 } 31 32 return EXIT_SUCCESS; 33 }
Inserte uno
El siguiente código muestra cómo insertar un solo documento en una colección:
auto result = collection.insert_one(make_document(kvp("<field name>", "<value>")));
Para obtener más información sobre el método insert_one(), consulte la Guía deinserción de documentos.
Insertar múltiples
El siguiente código muestra cómo insertar varios documentos en una colección:
std::vector<bsoncxx::document::value> documents; documents.push_back(make_document(kvp("<field name>", "<value>"))); documents.push_back(make_document(kvp("<field name>", "<value>"))); auto result = collection.insert_many(documents);
Para obtener más información sobre el método insert_many(), consultar la guía Insertar Documentos.
Actualiza uno
El siguiente código muestra cómo actualizar un solo documento en una colección creando o editando un campo:
auto query_filter = make_document(kvp("<field to match>", "<value to match>")); auto update_doc = make_document(kvp("$set", make_document(kvp("<field name>", "<value>")))); auto result = collection.update_one(query_filter.view(), update_doc.view());
Para obtener más información sobre el método update_one(), consulte la Guía para actualizar documentos.
Actualiza múltiples
El siguiente código muestra cómo actualizar varios documentos en una colección creando o editando un campo:
auto query_filter = make_document(kvp("<field to match>", "<value to match>")); auto update_doc = make_document(kvp("$set", make_document(kvp("<field name>", "<value>")))); auto result = collection.update_many(query_filter.view(), update_doc.view());
Para obtener más información sobre el método update_many(), consulte la Guía para actualizar documentos.
Reemplace uno
El siguiente código muestra cómo reemplazar un solo documento en una colección:
auto query_filter = make_document(kvp("<field to match>", "<value to match>")); auto replace_doc = make_document(make_document(kvp("<field name>", "<value>"))); auto result = collection.replace_one(query_filter.view(), replace_doc.view());
Para aprender más sobre el método replace_one(), consulta la guía Reemplazar Documentos.
deleteOne
El siguiente código muestra cómo eliminar un solo documento en una colección:
auto result = collection.delete_one(make_document(kvp("<field name>", "<value>")));
Para obtener más información sobre el método delete_one(), consulta la guía Borrar Documentos.
Borrar múltiples
El siguiente código muestra cómo eliminar varios documentos en una colección:
auto result = collection.delete_many(make_document(kvp("<field name>", "<value>")));
Para obtener más información sobre el método delete_many(), consulta la guía Borrar Documentos.
Guardado masivo
El siguiente código muestra cómo realizar múltiples operaciones de guardar en una sola operación masiva:
auto bulk = collection.create_bulk_write(); auto insert_doc = make_document(kvp("<field name>", "<value>")); auto update_filter = make_document(kvp("<field name>", "<value>")); auto update_doc = make_document(kvp("$set", make_document(kvp("<field name>", "<value>")))); auto delete_filter = make_document(kvp("<field name>", "<value>")); mongocxx::model::insert_one insert_op{insert_doc.view()}; mongocxx::model::update_many update_op{update_filter.view(), update_doc.view()}; mongocxx::model::delete_one delete_op{delete_filter.view()}; bulk.append(insert_op); bulk.append(update_op); bulk.append(delete_op); auto result = bulk.execute();
Para aprender más sobre el método create_bulk_write(), consulta la Guía de escritura masiva.