//example 1 #include <iostream> #include "client/dbclient.h" using namespace mongo; int main() { DBClientConnection conn; BSONObj p = BSONObjBuilder().append("name", "Joe").append("age", 33).obj(); try { conn.connect("localhost"); cout << "connected ok" << endl; } catch( DBException &e ) { cout << "caught " << e.what() << endl; } conn.insert("tutorial.persons", p); conn.insert("tutorial.persons", p); conn.insert("tutorial.persons", p); return 0; }
$g++ mongotest.cpp -I /usr/local/include/mongo /usr/local/lib/libmongoclient.a -lboost_thread -lboost_filesystem -lboost_program_options ios
2. examples: mongodb
> db.mongodb.insert({"dbName": "343", hostPort: ["127.0.0.1:1001", "127.0.1.2:4000"]}) > db.mongodb.find() { "_id" : ObjectId("4f97b77afdc44ff960010ce2"), "dbName" : "343", "hostPort" : [ "192.168.0.191:30000" ] } { "_id" : ObjectId("4f97c3f3fdc44ff960010ce5"), "dbName" : "343", "hostPort" : [ "127.0.0.1:1001", "127.0.1.2:400 0" ] } >
string mongodbCollection = "test.mongodb"; auto_ptr<mongo::DBClientCursor> cursor = c->query( mongodbCollection , mongo::BSONObj() ); int count = 0; while ( cursor->more() ) { count++; mongo::BSONObj obj = cursor->next(); const char *pDbName = obj.getStringField("dbName"); mongo::BSONElement hostPortElement = obj.getField("hostPort"); if (!hostPortElement.eoo() &&hostPortElement.type() == mongo::Array ) { vector<mongo::BSONElement> hostPorts = hostPortElement.Array(); for (vector<mongo::BSONElement>::iterator it = hostPorts.begin(); it != hostPorts.end(); ++it) { string temp; it->Val(temp); cout << temp.c_str() << endl; } } }
db.test0.update( { "count" : { $gt : 1 } } , { $set : { "test2" :"OK"} } ); 只更新了第一條記錄
db.test0.update( { "count" : { $gt : 3 } } , { $set : { "test2" :"OK"} },false,true ); 全更新了
db.test0.update( { "count" : { $gt : 4 } } , { $set : { "test5" :"OK"} },true,false ); 只加進去了第一條
db.test0.update( { "count" : { $gt : 5 } } , { $set : { "test5" :"OK"} },true,true ); 全加進去了
db.test0.update( { "count" : { $gt : 15 } } , { $inc : { "count" :1} },false,true );全更新了
db.test0.update( { "count" : { $gt : 10 } } , { $inc : { "count" :1} },false,false );只更新了第一條
shell
http://www.mongodb.org/pages/viewpage.action?pageId=133415#C%2B%2BTutorial-Connecting app