bson的操作

2015-11-21 01:50:45 · 作者: · 浏览: 4

bson的操作

flyfish 2015-8-27

使用的是bson-cpp

bson的创建

//{ name : 'joe', age : 33.7 }
    //方式1
    bson::bo a = bson::bob().append("name", "joe").append("age", 33.7).obj();


    //方式2
    bson::bob x;
    x.append("name", "joe");
    x.append("age", 33.7);
    bson::bo b=x.obj();


    //方式3
    bson::bo c = BSON("name"<< "joe"
                    <<"age"<<33.7);

    //嵌套方式
     bson::bo d = BSON( "x" << "1" 
                << "y" << true
                << "subobj" << BSON( "m" << 3
                                  << "n" << 4 ) );

bson的输出

//输出方式1 c["name"] c["age"] //输出方式2 for( bson::bo::iterator it(c); it.more(); ) { string s=it.next().toString(); } //输出方式3 for(bson::bo::iterator it=c.begin(); it.more();) { bson::be t=it.next(); string s=t.fieldName();// 输出的是 age,name if(t.type() == bson::String) { t.valuestr();//输出 joe } else if (t.type() == bson::NumberDouble) { t._numberDouble();//输出 33.7 } }