MongoDB C++開発環境構築

9026 ワード

MongoDB C++開発環境構築
初めてMongoDB C++開発に接触しました.公式が単独で提供しているC++Driverのソースバッグには問題があるようです.私が使用している開発環境Slackware 13.37 x 86は、政府が単独で提供しているC++Driverに問題がある以上、すべてのMongoDBソースから構築します.aライブラリを最初に(http://downloads.mongodb.org/src/mongodb-src-r1.8.2.tar.gz)からMongoDBのソースパッケージをダウンロードして、コンパイルした後、MongoDB自体とC++Driverライブラリを含みます.
設置前の準備:
  • mongodbはjsライブラリに依存しています.slakwareの下でslakbuilds.org用sbopkgからインストールすればいいです.
  • mongodbはbookライブラリに依存し、slakwareにインストールされた開発ツールライブラリにすでに含まれています.
  • mongodbはscons構築ツールを使用していますので、sconsをインストールする必要があります.slakwareの下でも、slackbuilds.orgから
  • をインストールすることができます.
    mongodbを$HOME/usr/mongoに取り付けます.
    $mkdir-p~/usr/mongo
    $tar xvf mongodb-src-r 1.8.22.tar.gz
    $scons--prefix=$HOME/usr/mono--full install
    実行後は$HOME/usr/mongoの下の三つのディレクトリbin、include、libを確認します.
    開始モンゴdb:
    $mkdir-p~/usr/mouダタ
    $cd~/usr/mono/bin
    ドル./mono--dbpath=$HOME/usr/mouダタ
    簡単なプログラムを書いてテストして生成するlibmongoclient.a.
    
      
        
    #include < iostream >
    #include
    " client/dbclient.h "

    using namespace mongo;

    void run() {
    DBClientConnection c;
    c.connect(
    " localhost " );
    }

    int main() {
    try {
    run();
    cout
    << " connected ok " << endl;
    }
    catch ( DBException & e ) {
    cout
    << " caught " << e.what() << endl;
    }
    return 0 ;
    }
    $g++mon 2.cpp-I~/usr/monto/include/mongo/~/usr/monto/lib/libmongo client.a-lboott_thread-lbook_filesystem-lbook_programoptions
    $a.out connected ok
    二つ目のプログラムは簡単な挿入を実行します.
    
      
        
    #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++mon 3.cpp-I~/usr/monto/include/mongo/~/usr/mongo/lib/libmongo client.a-lboott_thread-lbook_filesystem-lbook_programoptions
    US./a.out
    connected ok
     実行モンスターgoクライアント検証挿入:
    $cd~/usr/mono/bin
    $//mono
    MongoDB shell version:1.8.23 connecting to:test>show dbsadmin   (empty)local   (empty)チュートリアル        0.0625 GB>use tutorilswitch ed to db tutoratil>db.persons.find(){“_id”:ObjectiId(“4 e 11 a 582 b 918 b 66 ebf 3835 fb”)、“name”:“Joe”、“age”:33}{id”:“Objece”:“Objece”:“Ibjece”:“Ibjeeeeeeftttttttttttttttccccccccccccccccccccccccccccjece”(66 66 66 66 66 eeeeeeffftttttttbjectId(「4 e 11 a 582 b 918 b 66 ebf 3835 fd」)、「name」:「Joe」、「age」:33}
    はい、このように使っても開発してもいいです.
    (転載する時は作者と出典を明記してください.許可なしに商業用途に使用しないでください.)より多くの文章は私のBlogを訪問してください.http://www.cnblogs.com/logicbaby