2016-11-11 119 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的构造函数,并对其进行迭代以填充感兴趣的结构字段。然后创建一个遍历类/结构成员的方法,通过其中一个构建器类将它们附加到新文档中,然后返回该文档。

相关问题