2015年1月22日 星期四

Mongo DB 安裝與使用

工作上使用到了這種 NoSQL 的 DB,主要是用來儲存大容量的資料,其中有個特性就是能夠用來儲存座標,並搜尋附近的人




1. Linux CentOS 安裝 MongoDB Server
直接透過 yum 進行套件安裝
yum install mongodb-org

如果 yum 不到 MongoDB 也可透過 MongoDB Yum Repository。
需手動加入 Repos 設定檔,請建立 /etc/yum.repos.d/mongodb.repo 檔案,並加入以下內容:
[mongodb]
name=MongoDB Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
gpgcheck=0
enabled=1


安裝完後將  Mongo Server 設為開機啟動:
sudo chkconfig --levels 345 mongod on

啟動 mongod service
sudo service mongod start

預設 MongoDB 的資料庫檔案是放在 /var/lib/mongodb 或 /var/lib/mongo 目錄下
正確的位置與其他設定可至  /etc/mongod.conf 中的 dbpath 設定。

2. Linux CentOS 安裝 MongoDB Client
直接透過 yum 進行套件安裝
yum install mongodb


安裝完成後就可使用 mongo 127.0.0.1 登入(後面 ip 可替換為自己的 server ip,如不輸入就是登入本機 server)
[root@server ~]# mongo
MongoDB shell version: 2.6.4

兩個最基本的元素與命令:
  • Database:就是一般傳統的資料庫概念,每個操作都必須在資料庫中
  • Collection:可以想像為放資料的容器,每一筆新增的資料都一定要有存放的 Collection,概念類似 Table 但是沒有限定要放那種格式 (沒有 Schema )
  • 顯示所有資料庫:show dbs; 
  • 與顯示目前資料庫中的 Collections:show collections;

如果開啟了一個  Mongo DB 我們會先使用 show dbs 看有哪些資料庫,進入後再使用 show collections 來進入存取資料的地方
> show dbs;
admin  (empty)
local  0.078GB
location 0.078GB
test   (empty)

接著輸入 use location  來進入 location 這個 db


> use location;
switched to db location


show 出了 db 底下的 collections
> show collections;
charactor_positions system.indexes


顯示 charactor_positions 內的資料
> db.charactor_positions.find();
{"_id" : ObjectId("54be49ce1235658aa90e6284"), "name" : "AA", "coordinates" : [ 121.486, 24.9979 ] }
{"_id" : ObjectId("54bf84181235658aa90e6285"), "name" : "BB", "coordinates" : [ "121.486, 24.9979 ] }
> exit
bye
[root@server ~]#

首先透過 db.createCollection("charactor_positions"); 建立命為 charactor_positions  的 Collection。接著透過 db.charactor_positions.insert({Object}) 建立資料,命令示意圖如下:




如果還不熟悉可至官網的 Try it 來玩玩看喔


沒有留言:

張貼留言