0
私はBSONObj
が有効なデータを持っているが、私は次のエラーを取得することを確信している文字列BSONオブジェクトのOIDを16進文字列として取得する方法は?
BSONObj r=some_function();
BSONElement oi;
r.getObjectID(oi);
OID o=oi.__oid();
cout<<"oid:"<<o.toString()<<endl;`
にBSON
オブジェクトのオブジェクトIDを変換しようとmongo-cxx
ドライバを使用しています:
BSONElement: bad type #somenumber
オブジェクトのIDが実際にOIDタイプであることを確認します。または、__oid()の代わりにチェックされたOID()呼び出しを使用します。 – dimitri
でも同じエラーが発生します。私は正しくgetObjectID関数を使用していますか? APIのドキュメントでは、それについて十分に説明していません。 –
これを試してください:std :: string oid = r ["_ id"]。OID()。toString(); – dimitri