
MongoDB C++ Tutorial http://www.mongodb.org/pages/viewpage.action?pageId=133415
The best start is building MongoDB from source (Ubuntu|Debian).
$sudo apt-get install g++ scons libpcre++-dev libmozjs-dev libpcap-dev libboost-dev
$cd /usr/src
$sudo git clone git://github.com/mongodb/mongo.git
$cd mongodb
$scons
$scons --prefix=/opt/mongo install
$cd ~
$gvim test_gridfs.cpp
#include <iostream>
#include <vector>
#include <boost/algorithm/string.hpp>
#include <mongo/client/dbclient.h>
#include <mongo/client/gridfs.h>
// g++ tutorial.cpp -lmongoclient -lboost_thread -lboost_filesystem -o tutorial
using namespace std;
using namespace mongo;
int main(int argc, const char **argv) {
const char *fileName = "";
std::vector<std::string> strs;
if (argc != 2) {
cerr << "Usage " << argv[0] << " local_file " << endl;
return -12;
}
fileName = argv[1];
//to generate gridfs file name
boost::split(strs, fileName, boost::is_any_of("/"));
DBClientConnection c;
c.connect("localhost");
cout << "connected ok" <<endl;
GridFS gfs = GridFS(c, "test", "testcpp");
gfs.storeFile(fileName, strs[strs.size()-1]);
cout << "file stored" << endl;
return 0;
}
g++ -o file_to_gridfs.o -c -I/opt/mongo/include file_to_gridfs.cpp
g++ -o file_to_gridfs file_to_gridfs.o -L/opt/mongo/lib -lmongoclient -lboost_thread -lboost_filesystem

