mongo c++ Bsonbuilder,BSONObj 到 final c BSON

mongo c++ Bsonbuilder, BSONObj to final c BSON

这里的基本目标是阅读 json 数组子文档和任何字符串格式 {key:"value", boolkey, true, {subkey: value}, array: [x,y,z] } 并且不关心进行 append_int、append_bool 和所有爵士乐.

使用方便的 C++ BSONObj,mongo::fromjson BSONObjBuilder 最终输出 C bson_t.

的任何方式

即。沿着

 mongo::BSONObj& query = mongo::fromjson ( szJSON );
 bson_t bson = query.c_obj();

 BSONObj Builder builder;
 ... (build, build, build)

 BSONObj obj = builder.obj();

 bson_t bson = obj.c_obj();

鉴于 c++ 是基于 c 驱动程序构建的,人们会认为 bson_t 位于某处

您可以使用

bson_t* b = bson_new_from_data(obj.objdata, obj.objsize)

但是你总是会创建对象两次。