Skip to content
Snippets Groups Projects

Draft: Feature/mongo db

Open Joana Plewnia requested to merge feature/MongoDB into master
Compare and
8 files
+ 180
149
Compare changes
  • Side-by-side
  • Inline
Files
8
@@ -79,16 +79,27 @@ namespace armarx::armem::server::ltm::util::mongodb
}
} // namespace detail
std::optional<mongocxx::database>
databaseExists(mongocxx::client& client, const std::string& databaseName)
{
//auto names = client.list_databases();
//if (auto it = std::find(names.begin(), names.end(), databaseName); it != names.end())
//{
// return client[databaseName];
//}
return std::nullopt;
std::optional<mongocxx::database>
databaseExists(mongocxx::client& client, const std::string& databaseName) {
// MongoCXX Version > 3.5.0 required
/*
auto names = client.list_database_names();
if (auto it = std::find(names.begin(), names.end(), databaseName); it != names.end()) {
return client[databaseName];
}
return std::nullopt;
*/
// Compatibility with older MongoCXX versions
mongocxx::cursor dbs = client.list_databases();
bsoncxx::stdx::string_view databaseNameView{databaseName};
for (auto &view : dbs) {
if (view["name"].get_utf8().value == databaseNameView) {
return client[databaseName];
}
}
return std::nullopt;
}
mongocxx::database
ensureDatabaseExists(mongocxx::client& client,
Loading