Как получить OID объекта BSON в виде шестнадцатеричной строки? - PullRequest
0 голосов
/ 28 января 2012

Я использую драйвер mongo-cxx, пытающийся преобразовать идентификатор объекта BSON в строку

BSONObj r=some_function();
BSONElement oi;
r.getObjectID(oi);
OID o=oi.__oid();
cout<<"oid:"<<o.toString()<<endl;`

Я уверен, что BSONObj имеет действительные данные, но я получаюследующая ошибка:

BSONElement: неверный тип # somenumber

1 Ответ

0 голосов
/ 30 января 2012

Объект запроса возвращает указатель на буфер, в котором хранится BSONObj.Я ошибся, когда не использовал функцию BSONObj::getOwned() для запроса копии BSONObj, которая вызвала исключение.

...