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.
$a.out connected ok
二つ目のプログラムは簡単な挿入を実行します.
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
初めて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を$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_programoptionsUS./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