MongoDB是一個介于關系資料庫和非關系資料庫之間的産品,是非關系資料庫當中功能最豐富,最像關系資料庫的。他支援的資料結構非常松散,是類似json的bjson格式,是以可以存儲比較複雜的資料類型。Mongo最大的特點是他支援的查詢語言非常強大,其文法有點類似于面向對象的查詢語言,幾乎可以實作類似關系資料庫單表查詢的絕大部分功能,而且還支援對資料建立索引。
MongoDB是NoSQL中的一種,随着越來越多公司産品使用,已經開始逐漸取代一些高性能查詢的地位了。
它的特點是高性能、易部署、易使用,存儲資料非常友善。主要功能特性有:
面向集合存儲,易存儲對象類型的資料。
模式自由。
支援動态查詢。
支援完全索引,包含内部對象。
支援查詢。
支援複制和故障恢複。
使用高效的二進制資料存儲,包括大型對象(如視訊等)。
自動處理碎片,以支援雲計算層次的擴充性
支援RUBY,PYTHON,JAVA,C++,PHP等多種語言。
檔案存儲格式為BSON(一種JSON的擴充)
可通過網絡通路
######### 安裝過程 ##########
1、去mongodb的官網直接下載下傳,這裡我們下載下傳了3.0.3的版本的。
1
2
3
4
5
6
7
8
9
10
11
12
<code>[root@master yunwei]</code><code># tar zxf mongodb-linux-x86_64-3.0.3.gz -C /usr/local/</code>
<code>[root@master yunwei]</code><code># cd /usr/local</code>
<code>[root@master </code><code>local</code><code>]</code><code># ln -s mongodb-linux-x86_64-3.0.3 mongodb</code>
<code>[root@master </code><code>local</code><code>]</code><code># ll</code>
<code>lrwxrwxrwx 1 root root 26 Jun 15 10:26 mongodb -> mongodb-linux-x86_64-3.0.3</code>
<code>[root@master </code><code>local</code><code>]</code><code># cd mongodb</code>
<code>[root@master mongodb]</code><code># ll</code>
<code>total 68</code>
<code>drwxr-xr-x 2 root root 4096 Jun 15 10:26 bin</code>
<code>-rw-r--r-- 1 1046 1046 34520 May 12 05:35 GNU-AGPL-3.0</code>
<code>-rw-r--r-- 1 1046 1046 1359 May 12 05:35 README</code>
<code>-rw-r--r-- 1 1046 1046 22660 May 12 05:35 THIRD-PARTY-NOTICES</code>
bin下的mongod就是MongoDB的服務端程序,mongo就是其用戶端,其它的指令用于MongoDB的其它用途如MongoDB檔案導出等。
2、 啟動MongoDB、要先建立好MongoDB 存放資料檔案和日志檔案的目錄:
13
<code>[root@master mongodb]</code><code># pwd</code>
<code>/mysqldata/mongodb</code>
<code>total 8</code>
<code>drwxr-xr-x 2 root root 4096 Jun 15 14:27 db </code><code># 存放db資料的檔案</code>
<code>drwxr-xr-x 2 root root 4096 Jun 15 14:28 log </code><code># 存放mongodb的日志檔案</code>
<code>[root@master mongodb]</code><code># cd log</code>
<code>[root@master log]</code><code># pwd</code>
<code>/mysqldata/mongodb/log</code>
<code>[root@master log]</code><code># ll</code>
<code>total 4</code>
<code>-rw-r--r-- 1 root root 2440 Jun 15 15:06 mongodb.log</code>
<code>-rw-r--r-- 1 root root 0 Jun 15 15:05 mongodb.log.2015-06-15T07-06-06</code>
3、在MongoDB安裝目錄下的bin下使用mongod啟動MongoDB;
14
15
16
17
18
19
20
21
<code>[root@master mongodb]</code><code># cd bin/</code>
<code>[root@master bin]</code><code># ll</code>
<code>total 116340</code>
<code>-rwxr-xr-x 1 1046 1046 4305912 May 12 05:35 bsondump</code>
<code>-rwxr-xr-x 1 1046 1046 11694552 May 12 05:43 mongo</code>
<code>-rwxr-xr-x 1 1046 1046 22349960 May 12 05:43 mongod</code>
<code>-rwxr-xr-x 1 1046 1046 6199144 May 12 05:35 mongodump</code>
<code>-rwxr-xr-x 1 1046 1046 6001840 May 12 05:35 mongoexport</code>
<code>-rwxr-xr-x 1 1046 1046 5956232 May 12 05:35 mongofiles</code>
<code>-rwxr-xr-x 1 1046 1046 6211952 May 12 05:35 mongoimport</code>
<code>-rwxr-xr-x 1 1046 1046 5686856 May 12 05:35 mongooplog</code>
<code>-rwxr-xr-x 1 1046 1046 22129448 May 12 05:43 mongoperf</code>
<code>-rwxr-xr-x 1 1046 1046 6332464 May 12 05:35 mongorestore</code>
<code>-rwxr-xr-x 1 1046 1046 10552760 May 12 05:43 mongos</code>
<code>-rwxr-xr-x 1 1046 1046 5909928 May 12 05:35 mongostat</code>
<code>-rwxr-xr-x 1 1046 1046 5769944 May 12 05:35 mongotop</code>
<code>[root@master bin]</code><code># ./mongod --help # 可以使用--help檢視mongodb的幫助文檔</code>
<code>[root@master bin]</code><code># ./mongod --dbpath=/mysqldata/mongodb/db/ --logpath=/mysqldata/mongodb/log/mongodb.log &</code>
<code>[root@master log]</code><code># netstat -lanp | grep 27017</code>
<code>tcp 0 0 0.0.0.0:27017 0.0.0.0:* LISTEN 2661/.</code><code>/mongod</code>
<code>unix 2 [ ACC ] STREAM LISTENING 2420077 2661/.</code><code>/mongod</code> <code>/tmp/mongodb-27017</code><code>.sock</code>
4、可以看到,已啟動成功,現在使用mongo用戶端通路一下該資料庫,看到下面的就說明啟動成功了(如果出現在些警告也沒關系的)
<code>[root@master bin]</code><code># ./mongo</code>
<code>MongoDB shell version: 3.0.3</code>
<code>connecting to: </code><code>test</code>
<code>Welcome to the MongoDB shell.</code>
<code>For interactive help, </code><code>type</code> <code>"help"</code><code>.</code>
<code>For </code><code>more</code> <code>comprehensive documentation, see</code>
<code> </code><code>http:</code><code>//docs</code><code>.mongodb.org/</code>
<code>Questions? Try the support group</code>
<code> </code><code>http:</code><code>//groups</code><code>.google.com</code><code>/group/mongodb-user</code>
<code>> show dbs;</code>
<code>local</code> <code>0.078GB</code>
<code>> use </code><code>local</code><code>;</code>
<code>switched to db </code><code>local</code>
<code>> show tables;</code>
<code>startup_log</code>
<code>system.indexes</code>
<code>> </code><code>select</code> <code>* from system.indexes;</code>
<code>2015-06-15T15:23:16.469+0800 E QUERY SyntaxError: Unexpected identifier</code>
<code>></code>
############ MongoDB一些指令的使用 #############
22
23
24
25
26
27
28
29
30
31
32
33
<code>> db </code><code>#檢視所有資料庫 </code>
<code>local</code>
<code>> show collections</code>
<code>> use mydb </code><code>#直接use mydb 就可以建立mydb這個資料庫</code>
<code>switched to db mydb</code>
<code>> db</code>
<code>mydb</code>
<code>> db.user.save({name:</code><code>'Rod'</code><code>,age:30}) </code><code>#新增資料</code>
<code>> </code><code>for</code><code>(var i=1;i<=10;i++) db.user.save({x:8,y:i}) </code><code>#周遊插入10條資料</code>
<code>> db.user.</code><code>find</code><code>()</code>
<code>{ </code><code>"_id"</code> <code>: ObjectId(</code><code>"557e8101e23d20a4115e493d"</code><code>), </code><code>"x"</code> <code>: 8, </code><code>"y"</code> <code>: 1 }</code>
<code>{ </code><code>"_id"</code> <code>: ObjectId(</code><code>"557e8101e23d20a4115e493e"</code><code>), </code><code>"x"</code> <code>: 8, </code><code>"y"</code> <code>: 2 }</code>
<code>{ </code><code>"_id"</code> <code>: ObjectId(</code><code>"557e8101e23d20a4115e493f"</code><code>), </code><code>"x"</code> <code>: 8, </code><code>"y"</code> <code>: 3 }</code>
<code>{ </code><code>"_id"</code> <code>: ObjectId(</code><code>"557e8101e23d20a4115e4940"</code><code>), </code><code>"x"</code> <code>: 8, </code><code>"y"</code> <code>: 4 }</code>
<code>{ </code><code>"_id"</code> <code>: ObjectId(</code><code>"557e8101e23d20a4115e4941"</code><code>), </code><code>"x"</code> <code>: 8, </code><code>"y"</code> <code>: 5 }</code>
<code>{ </code><code>"_id"</code> <code>: ObjectId(</code><code>"557e8101e23d20a4115e4942"</code><code>), </code><code>"x"</code> <code>: 8, </code><code>"y"</code> <code>: 6 }</code>
<code>{ </code><code>"_id"</code> <code>: ObjectId(</code><code>"557e8101e23d20a4115e4943"</code><code>), </code><code>"x"</code> <code>: 8, </code><code>"y"</code> <code>: 7 }</code>
<code>{ </code><code>"_id"</code> <code>: ObjectId(</code><code>"557e8101e23d20a4115e4944"</code><code>), </code><code>"x"</code> <code>: 8, </code><code>"y"</code> <code>: 8 }</code>
<code>{ </code><code>"_id"</code> <code>: ObjectId(</code><code>"557e8101e23d20a4115e4945"</code><code>), </code><code>"x"</code> <code>: 8, </code><code>"y"</code> <code>: 9 }</code>
<code>{ </code><code>"_id"</code> <code>: ObjectId(</code><code>"557e8101e23d20a4115e4946"</code><code>), </code><code>"x"</code> <code>: 8, </code><code>"y"</code> <code>: 10 }</code>
<code>> db.user.</code><code>find</code><code>({y:{$lt:5}}) </code><code>#查詢y小于5的資料</code>
<code>> db.user.findOne() </code><code>#隻查詢第一條資料</code>
mongodb的各種指令的使用我們可以在網上查一查,都有大量的資料,而且寫得很詳細。
本文轉自 wei0164 51CTO部落格,原文連結:http://blog.51cto.com/tanxw/1662068,如需轉載請自行聯系原作者