Esercizi Creazione Collezioni MongoDB C++
- Esercizio 1: Creazione di una collezione in MongoDB usando la libreria mongocxx (metodo sequenziale)
- Esercizio 2: Creazione di una collezione in MongoDB usando la libreria mongocxx (OOP)
- Esercizio 3: Creazione di una collezione in MongoDB usando la libreria mongo-c-driver (metodo sequenziale)
- Esercizio 4: Creazione di una collezione in MongoDB usando la libreria mongo-c-driver (OOP)
- Esercizio 5: Creazione di una collezione in MongoDB usando la libreria Poco MongoDB (metodo sequenziale)
- Esercizio 6: Creazione di una collezione in MongoDB usando la libreria Poco MongoDB (OOP)
- Esercizio 7: Creazione di una collezione con opzioni avanzate usando mongocxx (metodo sequenziale)
- Esercizio 8: Creazione di una collezione con opzioni avanzate usando mongocxx (OOP)
Ecco degli esercizi semplici con soluzione per praticare la creazione di collezioni in MongoDB utilizzando C++ sia in modo sequenziale che OOP.
Esercizio 1: Creazione di una collezione in MongoDB usando la libreria mongocxx (metodo sequenziale)
Stabilire una connessione a MongoDB e creare una collezione.
#include <mongocxx/client.hpp>#include <mongocxx/instance.hpp>#include <mongocxx/uri.hpp>#include <iostream>
int main() { mongocxx::instance inst{}; mongocxx::client conn{mongocxx::uri{"mongodb://localhost:27017"}}; auto db = conn["test_db"];
db.create_collection("nuova_collezione"); std::cout << "Collezione creata: nuova_collezione" << std::endl;
return 0;}
Esercizio 2: Creazione di una collezione in MongoDB usando la libreria mongocxx (OOP)
Creare una classe per gestire la connessione a MongoDB e creare una collezione.
#include <mongocxx/client.hpp>#include <mongocxx/instance.hpp>#include <mongocxx/uri.hpp>#include <iostream>
class MongoDBClient {private: mongocxx::instance inst{}; mongocxx::client conn{mongocxx::uri{"mongodb://localhost:27017"}};public: MongoDBClient() = default;
void creaCollezione(const std::string& db_name, const std::string& coll_name) { auto db = conn[db_name]; db.create_collection(coll_name); std::cout << "Collezione creata: " << coll_name << std::endl; }};
int main() { MongoDBClient client; client.creaCollezione("test_db", "nuova_collezione"); return 0;}
Esercizio 3: Creazione di una collezione in MongoDB usando la libreria mongo-c-driver (metodo sequenziale)
Stabilire una connessione a MongoDB e creare una collezione usando mongo-c-driver.
#include <mongoc/mongoc.h>#include <iostream>
int main() { mongoc_init();
mongoc_client_t *client = mongoc_client_new("mongodb://localhost:27017"); mongoc_database_t *database = mongoc_client_get_database(client, "test_db");
bson_error_t error; if (mongoc_database_create_collection(database, "nuova_collezione", nullptr, &error)) { std::cout << "Collezione creata: nuova_collezione" << std::endl; } else { std::cerr << "Errore nella creazione della collezione: " << error.message << std::endl; }
mongoc_database_destroy(database); mongoc_client_destroy(client); mongoc_cleanup();
return 0;}
Esercizio 4: Creazione di una collezione in MongoDB usando la libreria mongo-c-driver (OOP)
Creare una classe per gestire la connessione a MongoDB e creare una collezione usando mongo-c-driver.
#include <mongoc/mongoc.h>#include <iostream>
class MongoDBClient {private: mongoc_client_t *client;public: MongoDBClient(const std::string& uri) { mongoc_init(); client = mongoc_client_new(uri.c_str()); }
~MongoDBClient() { mongoc_client_destroy(client); mongoc_cleanup(); }
void creaCollezione(const std::string& db_name, const std::string& coll_name) { mongoc_database_t *database = mongoc_client_get_database(client, db_name.c_str()); bson_error_t error; if (mongoc_database_create_collection(database, coll_name.c_str(), nullptr, &error)) { std::cout << "Collezione creata: " << coll_name << std::endl; } else { std::cerr << "Errore nella creazione della collezione: " << error.message << std::endl; } mongoc_database_destroy(database); }};
int main() { MongoDBClient client("mongodb://localhost:27017"); client.creaCollezione("test_db", "nuova_collezione"); return 0;}
Esercizio 5: Creazione di una collezione in MongoDB usando la libreria Poco MongoDB (metodo sequenziale)
Stabilire una connessione a MongoDB e creare una collezione usando Poco MongoDB.
#include <Poco/MongoDB/Client.h>#include <Poco/MongoDB/Database.h>#include <iostream>
int main() { Poco::MongoDB::Client client("localhost", 27017); Poco::MongoDB::Database db("test_db");
db.createCollection("nuova_collezione", client); std::cout << "Collezione creata: nuova_collezione" << std::endl;
return 0;}
Esercizio 6: Creazione di una collezione in MongoDB usando la libreria Poco MongoDB (OOP)
Creare una classe per gestire la connessione a MongoDB e creare una collezione usando Poco MongoDB.
#include <Poco/MongoDB/Client.h>#include <Poco/MongoDB/Database.h>#include <iostream>
class MongoDBClient {private: Poco::MongoDB::Client client;public: MongoDBClient(const std::string& host, int port) : client(host, port) {}
void creaCollezione(const std::string& db_name, const std::string& coll_name) { Poco::MongoDB::Database db(db_name); db.createCollection(coll_name, client); std::cout << "Collezione creata: " << coll_name << std::endl; }};
int main() { MongoDBClient client("localhost", 27017); client.creaCollezione("test_db", "nuova_collezione"); return 0;}
Esercizio 7: Creazione di una collezione con opzioni avanzate usando mongocxx (metodo sequenziale)
Stabilire una connessione a MongoDB e creare una collezione con opzioni avanzate.
#include <mongocxx/client.hpp>#include <mongocxx/instance.hpp>#include <mongocxx/uri.hpp>#include <mongocxx/options/create_collection.hpp>#include <iostream>
int main() { mongocxx::instance inst{}; mongocxx::client conn{mongocxx::uri{"mongodb://localhost:27017"}}; auto db = conn["test_db"];
mongocxx::options::create_collection options{}; options.capped(true); options.size(1024 * 1024);
db.create_collection("collezione_con_opzioni", options); std::cout << "Collezione creata con opzioni: collezione_con_opzioni" << std::endl;
return 0;}
Esercizio 8: Creazione di una collezione con opzioni avanzate usando mongocxx (OOP)
Creare una classe per gestire la connessione a MongoDB e creare una collezione con opzioni avanzate.
#include <mongocxx/client.hpp>#include <mongocxx/instance.hpp>#include <mongocxx/uri.hpp>#include <mongocxx/options/create_collection.hpp>#include <iostream>
class MongoDBClient {private: mongocxx::instance inst{}; mongocxx::client conn{mong
ocxx::uri{"mongodb://localhost:27017"}};public: MongoDBClient() = default;
void creaCollezioneConOpzioni(const std::string& db_name, const std::string& coll_name) { auto db = conn[db_name];
mongocxx::options::create_collection options{}; options.capped(true); options.size(1024 * 1024);
db.create_collection(coll_name, options); std::cout << "Collezione creata con opzioni: " << coll_name << std::endl; }};
int main() { MongoDBClient client; client.creaCollezioneConOpzioni("test_db", "collezione_con_opzioni"); return 0;}