使用mongodb c#和c++驱动程序修改bson文档

本文关键字:程序修改 bson 文档 c++ mongodb 使用 | 更新日期: 2023-09-27 18:17:38

在c# mongodb驱动程序(版本2.3)中,很容易修改现有的bson文档。然而,c++驱动程序(v3版本)似乎只提供现有文档的只读视图或新文档的构建器。是我忽略了c++驱动程序的一些特性,还是c++驱动程序真的错过了修改功能,还是c#驱动程序只是通过内部复制原始文档并将修改添加到新文档中来模拟修改?

使用mongodb c#和c++驱动程序修改bson文档

为了提高效率,c++驱动程序在内部将BSON文档建模为字节数组,而不是映射或其他读写数据结构。c# RawBsonDocument类是最接近的等价类。

如果你需要在c++中膨胀、修改和收缩,那必须由用户来完成。例如,定义一个表示文档的类/结构,以及一个构造函数,该构造函数接受一个bsoncxx::document::view并对其进行迭代以填充感兴趣的结构字段。然后创建一个方法,遍历类/结构的成员,通过一个构建器类将它们附加到一个新文档,并返回该文档。