mongodb Linux C++開發環境調研

來源:互聯網
上載者:User

標籤:boost   c++   linux   mongodb   

mongodb Linux安裝

下載最新版mongodb,下載連結為:http://www.mongodb.org/dr/fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.0.2.tgz/download

輸入tar –xzvf mongodb-linux-x86_64-2.0.2.tgz解壓到/usr/local/mongodb目錄下,以下稱為根目錄,然後在根目錄下建立儲存資料的data檔案夾和log檔案夾,然後在log檔案夾中建立mongodb.log檔案,完成上述操作之後根目錄結構如下所示:

.

|-- GNU-AGPL-3.0

|-- README

|-- THIRD-PARTY-NOTICES

|-- bin
|   |-- bsondump

|   |-- mongo

|   |-- mongod

|   |-- mongodump

|   |-- mongoexport

|   |-- mongofiles

|   |-- mongoimport

|   |-- mongorestore

|   |-- mongos

|   |-- mongosniff

|   |-- mongostat

|   `-- mongotop

|-- data

`-- log

`-- mongdb.log

然後進入到bin目錄中,輸入如下指令即可後台啟動mongodb伺服器。

./mongod --dbpath=/usr/local/mongodb/data/ --logpath=/usr/local/mongodb/log/mongodb.log –logappend &

mongodb C++訪問


使用C++訪問mongodb的一些準備:

1.需要使用一個事先編譯好的libmongoclient.a靜態庫以及相應的一些標頭檔。

2.需要使用1.34版本以上的boost庫。

libmongoclient.a靜態庫以及相應的標頭檔在項目中進行包含即可,下面是1.34.1版本的boost庫的安裝使用方法。

1.34.1版本的boost庫的安裝方法很簡單,只需將其解壓到一個目錄下,然後將該目錄加入到庫載入路徑中即可,這裡我們以/usr/local/lib為例。


將目錄加入到庫載入路徑中的方法如下:

在使用者根目錄下有一個名為.bash_profile的檔案。開啟該檔案,加入下面的指令:

export LD_LIBRARY_PATH=/usr/local/lib

加入該指令後在控制台中輸入source .bash_profile即可。


下面是一個測試範例,它的目錄結構如下:
.
|-- bin

|-- doc

|-- include

|   `-- mongo

|       |-- client

|       |   |-- connpool.h

|       |   |-- dbclient.h

|       |   |-- gridfs.h

|       |   |-- model.h

|       |   |-- parallel.h

|       |   `-- syncclusterconnection.h

|       |-- db

|       |   |-- background.h

|       |   |-- btree.h

|       |   |-- client.h

|       |   |-- clientcursor.h

|       |   |-- cmdline.h

|       |   |-- commands.h

|       |   |-- concurrency.h

|       |   |-- curop.h

|       |   |-- cursor.h

|       |   |-- database.h

|       |   |-- db.h

|       |   |-- dbhelpers.h

|       |   |-- dbmessage.h

|       |   |-- diskloc.h

|       |   |-- extsort.h

|       |   |-- filever.h

|       |   |-- index.h

|       |   |-- instance.h

|       |   |-- introspect.h

|       |   |-- jsobj.h

|       |   |-- jsobjmanipulator.h

|       |   |-- json.h

|       |   |-- lasterror.h

|       |   |-- matcher.h

|       |   |-- minilex.h

|       |   |-- module.h

|       |   |-- namespace.h

|       |   |-- nonce.h

|       |   |-- pdfile.h

|       |   |-- query.h

|       |   |-- queryoptimizer.h

|       |   |-- queryutil.h

|       |   |-- rec.h

|       |   |-- reccache.h

|       |   |-- reci.h

|       |   |-- recstore.h

|       |   |-- repl.h

|       |   |-- replset.h

|       |   |-- resource.h

|       |   |-- scanandorder.h

|       |   |-- security.h

|       |   `-- update.h

|       |-- stdafx.h

|       |-- targetver.h

|       `-- util

|           |-- allocator.h

|           |-- array.h

|           |-- assert_util.h

|           |-- atomic_int.h

|           |-- background.h

……

|           |-- optime.h

|           |-- processinfo.h

|           |-- queue.h

|           |-- sock.h

|           |-- thread_pool.h

|           `-- unittest.h

|-- lib

|   `-- libmongoclient.a

`-- src

`-- main.cpp


其中main.cpp的代碼如下:


然後在src目錄下進行編譯,編譯指令如下:

g++ -o ../bin/main main.cpp -I../include/mongo ../lib/libmongoclient.a -lboost_thread-mt -lboost_filesystem-mt -lboost_program_options

編譯完成後在bin目錄下產生可執行檔main

輸入./main執行,執行結果如下:

然後查看本地mongodb伺服器,結果如下:


測試成功通過。

mongodb Linux C++開發環境調研

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.