0
我已經做了一些與遺留驅動程序的工作,現在我正在升級到新的。但是我遇到了一個問題。 我試圖將GUID附加到基本文檔,但在新驅動程序中只允許使用12個字節長度的二進制數據。 在傳統驅動程序中,它接受16個字節的數據,並將GUID轉換爲16個字節。 是否可以將GUID轉換爲長度爲12的字節數組?如何將GUID作爲bsoncxx :: types :: b_oid添加到使用mongocxx驅動程序的文檔中?
typedef struct _GUID {
unsigned long Data1;
unsigned short Data2;
unsigned short Data3;
unsigned char Data4[ 8 ];
} GUID;
GUID插入代碼:
void insert_guid(std::string name, const GUID& guid)
{
convertGUIDtoBinary(guid, binaryGuidData); //Can't convert to 12 byte. It will convert to 16 byte length
bsoncxx::types::b_oid oId;
oId.value = bsoncxx::oid(binaryGuidData, 12); //How to make it 12 byte length?
bsoncxx::builder::basic::document _builder;
_builder.append(kvp(name, oId));
}
請,如果有人可以幫助我,謝謝..
bArray.sub_type = bsoncxx :: binary_sub_type :: k_uuid_deprecated; 作品在我的情況 – snb