//!/usr/bin/rperl // [[[ HEADER ]]] #include <rperlstandalone.h> #include <RPerl/Support/MongoDBStandAlone.h> // MANUALLY MODIFIED, NEED FIX!!! #ifndef __CPP__INCLUDED__mongodb_insert_one_find_one_cpp #define __CPP__INCLUDED__mongodb_insert_one_find_one_cpp 0.001_000 # ifdef __CPP__TYPES // [[[ INCLUDES ]]] int main() { // [[[ OPERATIONS HEADER ]]] // [[[ OPERATIONS ]]] // my MongoDB::MongoClient $my_client = MongoDB::MongoClient->new({host => 'mongodb://localhost:27017'}); MongoDB__MongoClient my_client {mongodb_host{"mongodb://localhost:27017"}}; // my string $my_database_name = 'rperl_test_database'; string my_database_name = (const string) "rperl_test_database"; // print {*STDERR} 'have $my_database_name = ', $my_database_name, "\n"; prerr "have $my_database_name = " << my_database_name << endl; // my MongoDB::Database $my_database = $my_client->mongodb_get_database($my_database_name); // MongoDB__Database my_database = my_client[my_database_name]; // NO SUPPORT, unwrapped calling convention, OO // MongoDB__Database my_database = my_client->mongodb_get_database(my_database_name); // NO SUPPORT, wrapped calling convention, OO MongoDB__Database my_database = mongodb_get_database(my_client, my_database_name); // YES SUPPORT, wrapped calling convention, procedural // my string $my_collection_name = 'rperl_test_collection'; string my_collection_name = (const string) "rperl_test_collection"; // print {*STDERR} 'have $my_collection_name = ', $my_collection_name, "\n"; prerr "have $my_collection_name = " << my_collection_name << endl; // my MongoDB::Collection $my_collection = $my_database->mongodb_get_collection($my_collection_name); // MongoDB__Collection my_collection = my_database[my_collection_name]; // NO SUPPORT, unwrapped calling convention, OO // MongoDB__Collection my_collection = my_database->mongodb_get_collection(my_collection_name); // NO SUPPORT, wrapped calling convention, OO MongoDB__Collection my_collection = mongodb_get_collection(my_database, my_collection_name); // YES SUPPORT, wrapped calling convention, procedural // my bson_document $my_document = { bson_document my_document = bson_begin // name => 'rperl_test_data', << "name" << "rperl_test_data" // source => 'Perl', << "source" << "C++" // foo_integer => my integer $TYPED_foo_integer = 1, << "foo_integer" << 1 // foo_string_arrayref => my bson_arrayref $TYPED_foo_string_arrayref = ['abc', 'def', 'ghi'], << "foo_string_arrayref" << bson_arrayref_begin << "abc" << "def" << "ghi" << bson_arrayref_end // foo_integer_hashref => my bson_hashref $TYPED_foo_integer_hashref = { x => 203, y => 102 } << "foo_integer_hashref" << bson_hashref_begin << "x" << 203 << "y" << 102 << bson_hashref_end // }; << bson_end; // bson_document my_document = bson_begin << "name" << (const string) "rperl_test_data" << "source" << (const string) "Perl" << "foo_integer" << 1 << "foo_string_arrayref" << bson_arrayref_begin << (const string) "abc" << (const string) "def" << (const string) "ghi" << bson_arrayref_end << "foo_integer_hashref" << bson_hashref_begin << "x" << 203 << "y" << 102 << bson_hashref_end << bson_end; // my MongoDB::InsertOneResult $my_result = $my_collection->mongodb_insert_one($my_document); // MongoDB__InsertOneResult my_result = my_collection.insert_one(my_document.view()); // NO SUPPORT, unwrapped calling convention, OO // MongoDB__InsertOneResult my_result = my_collection->mongodb_insert_one(my_document); // NO SUPPORT, wrapped calling convention, OO MongoDB__InsertOneResult my_result = mongodb_insert_one(my_collection, my_document); // YES SUPPORT, wrapped calling convention, procedural // my bson_document__optional $my_found_data = $my_collection->mongodb_find_one({ name => 'rperl_test_data' }); // bson_document__optional my_found_data = my_collection.find_one(bsoncxx::builder::stream::document{} << "name" << "rperl_test_data" << bsoncxx::builder::stream::finalize); // NO SUPPORT, unwrapped calling convention, OO // bson_document__optional my_found_data = my_collection->mongodb_find_one(bson_begin << "name" << (const string) "rperl_test_data" << bson_end); // NO SUPPORT, wrapped calling convention, OO bson_document__optional my_found_data = mongodb_find_one(my_collection, bson_begin << "name" << (const string) "rperl_test_data" << bson_end); // YES SUPPORT, wrapped calling convention, procedural // if ($my_found_data) { if (my_found_data) { // print {*STDERR} 'have $my_found_data = ', Dumper($my_found_data), "\n"; // prerr "have $my_found_data = " << bsoncxx::to_json(*my_found_data) << endl; // NO SUPPORT, unwrapped calling convention, procedural prerr "have $my_found_data = " << bson_Dumper(my_found_data) << endl; // YES SUPPORT, wrapped calling convention, procedural } // else { else { // print {*STDERR} 'have NO $my_found_data', "\n"; prerr "have NO $my_found_data" << endl; } // [[[ OPERATIONS FOOTER ]]] return 0; } // [[[ FOOTER ]]] # elif defined __PERL__TYPES Purposefully_die_from_a_compile-time_error,_due_to____PERL__TYPES_being_defined.__We_need_to_define_only___CPP__TYPES_in_this_file! # endif #endif