13template <
typename ModelType>
22 std::vector<ModelType> models;
23 for (
const auto& doc_str : result.
documents) {
26 models.push_back(j.get<ModelType>());
38template <
typename ModelType>
53template <
typename ModelType>
57 : db_(
std::move(db)) {}
65 for (
auto& el : filter.
items()) {
66 filter_[el.key()] = el.
value();
87 std::shared_ptr<database::MongoClient> db_;
a class to store JSON values
Definition json.hpp:19401
iteration_proxy< iterator > items() noexcept
helper to access iterator member functions in range-based for
Definition json.hpp:22185
static basic_json parse(InputType &&i, const parser_callback_t cb=nullptr, const bool allow_exceptions=true, const bool ignore_comments=false)
deserialize from a compatible input
Definition json.hpp:23317
ValueType value(const typename object_t::key_type &key, const ValueType &default_value) const
access specified object element with default value
Definition json.hpp:21528
string_t dump(const int indent=-1, const char indent_char=' ', const bool ensure_ascii=false, const error_handler_t error_handler=error_handler_t::strict) const
serialization
Definition json.hpp:20574
static basic_json object(initializer_list_t init={})
explicitly create an object from an initializer list
Definition json.hpp:20315
A lightweight ORM builder for MongoDB using nlohmann::json.
Definition MongoQueryBuilder.hpp:54
MongoQueryBuilder(std::shared_ptr< database::MongoClient > db)
Definition MongoQueryBuilder.hpp:56
MongoInsertAwaiter< ModelType > insert_async(const ModelType &model)
Executes an INSERT query for a model.
Definition MongoQueryBuilder.hpp:81
MongoQueryBuilder & where(const nlohmann::json &filter)
Definition MongoQueryBuilder.hpp:63
MongoGetAwaiter< ModelType > get_async()
Executes a find query asynchronously and maps results to a vector of ModelType.
Definition MongoQueryBuilder.hpp:74
Definition MigrationRunner.hpp:13
Definition MongoClient.hpp:56
void await_suspend(std::coroutine_handle<> h)
Definition MongoClient.cpp:97
bool await_resume()
Definition MongoClient.cpp:128
bool await_ready() const
Definition MongoClient.hpp:63
Definition MongoClient.hpp:44
bool await_ready() const
Definition MongoClient.hpp:51
void await_suspend(std::coroutine_handle<> h)
Definition MongoClient.cpp:44
QueryResult await_resume()
Definition MongoClient.cpp:85
Definition MongoClient.hpp:28
std::vector< std::string > documents
Definition MongoClient.hpp:29
An awaiter for MongoDB queries that maps JSON responses back to C++ ModelType vectors.
Definition MongoQueryBuilder.hpp:14
bool await_ready() const
Definition MongoQueryBuilder.hpp:17
std::vector< ModelType > await_resume()
Definition MongoQueryBuilder.hpp:20
database::MongoClient::QueryAwaiter native_awaiter
Definition MongoQueryBuilder.hpp:15
void await_suspend(std::coroutine_handle<> h)
Definition MongoQueryBuilder.hpp:18
An awaiter for MongoDB inserts.
Definition MongoQueryBuilder.hpp:39
void await_suspend(std::coroutine_handle<> h)
Definition MongoQueryBuilder.hpp:43
database::MongoClient::InsertAwaiter native_awaiter
Definition MongoQueryBuilder.hpp:40
bool await_ready() const
Definition MongoQueryBuilder.hpp:42
bool await_resume()
Definition MongoQueryBuilder.hpp:45