代码拉取完成,页面将自动刷新
用于将结构体转成bson格式。范例:
struct Test {
int64_t id;
std::string name;
std::string email;
XPACK(A(id, "bson:_id"), O(name, email));
};
Test t;
std::string data = xpack::bson::encode(t); // data就是t转成bson的数据
关于XPACK的使用,请参考xpack
用于将bson数据转成结构体 用于将结构体转成bson格式。范例:
struct Test {
int64_t id;
std::string name;
std::string email;
XPACK(A(id, "bson:_id"), O(name, email));
};
std::string data;
// data = xxxx; data存储了相应的bson数据
Test t;
xpack::bson::decode(data, t);
// xpack::bson::decode 还有另一个参数方式:static void decode(const uint8_t* data, size_t len, T &val)
关于XPACK的使用,请参考xpack
前4种是xbson额外定义的,后面两种是定义在libbson内的,为了统一,前4种也是定义在全局命名空间。
需要C++11或以上版本支持。用json的格式来构造bson数据。查询接口中的query,一般只需要指定很少几个字段,这个场景用结构体表达不是很方便。用builder就会简单很多。基本用法是:
static xpack::BsonBuilder bd("{'_id':?, ?:?}"); // 带占位符的builder
static xpack::BsonBuilder empty("{}"); // 空bson
static xpack::BsonBuilder student("{'type':'student'}"); // 不带占位符的builder
std::string data1 = bd.Encode(12345, "type", "master");
std::string data2 = empty.Encode();
std::string data3 = student.Encode();
// 这些bson的数据可以用在mongoxclient的各个接口中
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。