sequoiadb的c++应用开发1

使用sequoiadb开发c++应用时需要使用BSON对象,本篇主要讲下BSON的操作方面的东西

 

1:构建一个_id的BSON对象

BSON的c++驱动给我提供了一个宏BSON,使用该对象可以很方便的生成一个BSON对象,但是有个坑,它不能构建——Id的BSON对象

BSONObj obj=BSON("_id"<<BSON("$oid"<<"xxx"));

使用这个语句创建BSON,在查找的时候,找不到数据(报错,忘记)。正确做法应该是。

BSONObjBuilder builder ;
OID  oid(inst_id);  
BOSONObj condition=builder.appendOID("_id",&oid); // StringData类型可以使用string类型和char* 替换


2:构建一个BSON,值是数组

 数据格式{"num":[33,44]}

BSONArrayBuilder  nums;

BSONObjBuilder arr;

nums<<33<<44;

arr.append("num",nums.arr());

注意上面BSONArrayBuilder不能使用done方法,该方法会生成一个映射数组

也可以使用宏

BSON( "phone" << BSON_ARRAY( "13800138123" << "13800138124" ) )

这些类和宏都在namespace bson下面。

 

posted @ 2015-01-16 23:55  高兴的博客  阅读(216)  评论(0编辑  收藏  举报