POCO C ++ MongoDB: преобразовать std :: string в MongoDB :: Document - PullRequest
0 голосов
/ 11 июля 2020

Как мне сделать следующее преобразование:

std::string json_str;
Poco::MongoDB::Document document();
document.fromString(json_str);

Я не нашел ни одного метода, такого как fromString.

Я также хотел бы настроить функции добавления и получения для Документ, в Poco об этом нет ни слова.

template<typename T>
struct ElementTraits<std::vector<T>>
{
    enum { TypeId = 0x00005;};

    static std::string toString(const std::vector<T>& value, int indent = 0)
    {
        return models::ModelBase::toString(value);
    }
};


template<typename T>
inline void BSONReader::read<std::vector<T>>(std::vector<T>& to)
{
    Poco::MongoDb::Array mongo_array();
    for(const auto& element: to) mongo_array.add(element);
    read(mongo_array);
}


template<typename T>
inline void BSONWriter::write<std::vector<T>>(std::vector<T>& from)
{
    Poco::MongoDb::Array mongo_array();
    for(const auto& element: to) mongo_array.add(element);
    write(mongo_array);
}

Судя по тому, что я нашел, вот так можно настроить какой-то класс, но если присмотреться, вы увидите ошибку - это невозможно провести частичную специализацию второго и третьего методов

...