2016-11-11 60 views
0

在c#mongodb驅動程序(版本2.3)中,很容易modify現有的bson文檔。但是,C++驅動程序(版本v3)似乎只提供現有文檔的只讀視圖或新文檔的構建器。我是否忽視了C++驅動程序的某些功能,或者C++驅動程序是否真的錯過了修改功能,或者c#驅動程序是否通過內部複製原始文檔並將修改添加到新文檔中來模擬修改?使用mongodb c#和C++驅動程序修改bson文檔

回答

0

C++驅動程序將BSON文檔內部建模爲字節數組以提高效率,而不是作爲映射或其他讀/寫數據結構。 C#RawBsonDocument類是最接近的等價物。

如果您需要在C++中進行膨脹,修改和放氣,那必須由用戶完成。例如,定義一個表示文檔的類/結構,以及一個採用bsoncxx::document::view的構造函數,並對其進行迭代以填充感興趣的結構字段。然後創建一個遍歷類/結構成員的方法,通過其中一個構建器類將它們附加到新文檔中,然後返回該文檔。

相關問題