1

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

使用方便的 C++ BSONObj、mongo::fromjson BSONObjBuilder 最终输出 C bson_t 的任何方式。

IE。沿着任何一条线

 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 位于某处

4

1 回答 1

1

您可以使用

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

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

于 2015-08-24T12:58:19.950 回答