On this page, you can see copyable code examples that show common C++ driver methods for writing data to MongoDB.
TipTo learn more about any of the methods shown on this page, see the link provided in each section.
To use an example from this page, copy the code example into the sample application or your own application. Be sure to replace all placeholders, such as <connection string>
, with the relevant values for your MongoDB deployment.
You can use the following sample application to test the code examples on this page. To use the sample application, perform the following steps:
Ensure you have the C++ driver installed in a location from which your project can import it.
Copy the following code and paste it into a new .cpp
file within your project.
Copy a code example from this page and paste it within the highlighted section of the file.
1#include <iostream>23#include <bsoncxx/builder/basic/document.hpp>4#include <bsoncxx/json.hpp>5#include <mongocxx/client.hpp>6#include <mongocxx/exception/exception.hpp>7#include <mongocxx/instance.hpp>8#include <mongocxx/uri.hpp>910using bsoncxx::builder::basic::kvp;11using bsoncxx::builder::basic::make_document;1213int main() {14 try {15 mongocxx::instance instance;1617 mongocxx::uri uri("<connection string>");18 mongocxx::client client(uri);1920 auto database = client["<database name>"];21 auto collection = database["<collection name>"];2223 2425 2627 } 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}
The following code shows how to insert a single document into a collection:
auto result = collection.insert_one(make_document(kvp("<field name>", "<value>")));
To learn more about the insert_one()
method, see the Insert Documents guide.
The following code shows how to insert multiple documents into a collection:
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);
To learn more about the insert_many()
method, see the Insert Documents guide.
The following code shows how to update a single document in a collection by creating or editing a field:
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());
To learn more about the update_one()
method, see the Update Documents guide.
The following code shows how to update multiple documents in a collection by creating or editing a field:
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());
To learn more about the update_many()
method, see the Update Documents guide.
The following code shows how to replace a single document in a collection:
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());
To learn more about the replace_one()
method, see the Replace Documents guide.
The following code shows how to delete a single document in a collection:
auto result = collection.delete_one(make_document(kvp("<field name>", "<value>")));
To learn more about the delete_one()
method, see the Delete Documents guide.
The following code shows how to delete multiple documents in a collection:
auto result = collection.delete_many(make_document(kvp("<field name>", "<value>")));
To learn more about the delete_many()
method, see the Delete Documents guide.
The following code shows how to perform multiple write operations in a single bulk operation:
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();
To learn more about the create_bulk_write()
method, see the Bulk Write guide.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4