-
Type:
Task
-
Resolution: Done
-
Priority:
Major - P3
-
None
-
Affects Version/s: 3.0.0
-
Component/s: API
-
None
-
Environment:ubuntu 16_04 x64, gcc 5.4
-
None
-
None
-
None
-
None
-
None
-
None
-
None
Is it correct to store bsoncxx::document::element in containers without storing bsoncxx::document::value (parental document)?
I want to store a field from many documents and after transformation it to specific types... Like this:
std::list<bsoncxx::document::element> dataFields;
// ...
mongocxx::cursor::iterator iter = (*current);
bsoncxx::document::view_or_value doc(*iter);
dataFields.push_back(doc.view()['data']);
++(*current);
// ...
for(auto data: dataFields)
{
if (data)
{
if (data.type() == bsoncxx::type::k_document)
// everytime is ok
{
// ...
}
if (data.type() == bsoncxx::type::k_binary)
// sometimes throws "SIGABRT: src/bson/bson-iter.c:390 bson_iter_type(): precondition failed: iter->raw"
{
// ...
}
}
}