mongodb 入門

在NOSQL的多個數據庫版本中,mongodb相對比較成熟,把學mongodb筆記整理在這,方便以後回顧。

這筆記預計分三部分: 一,基礎操作,二、增刪改查詳細操作,三、高級應用。

一、在linux在安裝mongodb,

在linux下安裝mongodb其實很簡單,到官網上下載mongodb-linux-x86_64-v2.4-latest.tgz     文件,直接解壓就可以使用了,爲了方便,把解壓後的文件放在 /usr/local/mongodb 下,在bin文件下就是我們需要的二進制命令文件。

bsondump  mongodump    mongoimport  mongorestore  mongostat

mongo     mongoexport  mongooplog   mongos        mongotop

mongod    mongofiles   mongoperf    mongosniff

二、mongodb啓動與關閉

與mysql一樣,mongodb也需要啓動後臺進程

/usr/local/mongodb/bin/mongod  --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/dblogs  --fork

--dbpath執行數據庫存放路徑(默認是/data/db)

--fork是以Daemon(進程)方式運行,


mongodb 默認開啓的端口號是27017.


跟其他程序一樣,關閉mongodb 可以使用  killall mongod  或是 pkill mongod ,但是,最好不好使用kill -9  pid 的形式,因爲這樣會使mongodb受到損壞,並且下次啓動mongodb的時候會出現問題,mongodb 會在data 文件夾下產生一個mongod.lock 的鎖文件。 如果你真的使用kill -9 + pid 的形式關閉mongodb ,下次啓動前必須先到data 文件夾下刪除那個鎖文件。


三、mongodb 的簡單操作

(1)進入mongodb命令:

[root@local ~]# /usr/local/mongodb/bin/mongo

MongoDB shell version: 2.4.4-pre-

connecting to: test

>

(2)退出命令: exit

(3)查看當前數據庫: db

(4)查看錶(mongodb中稱爲collections) show tables  或 show collections

(5)進入admin 數據庫: use admin

(6)查看所有用戶: show users;

(7) 查看數據庫: show dbs;

(8) 幫助命令: help (可以使用這命令,查看所有命令的詳細使用方法)

(9) 增:db.collname.insert({name:"user1"});裏面的key:value 以json格式

(10)刪:db.collname.remove()如果括號裏沒有條件,則刪除collection裏所有數據

         db.collname.remove({"name":"caida"})

(11)改:db.collname.update({"_id":1},{"name":"nosql"})

(12)查:db.collname.find() 如果括號沒有條件,則查找collection裏所有數據

         db.collname.find({"name":"caida"})

(13)保存:db.collname.save(),如果值改變則更新,否則不變。

(14)新建數據庫(如創建一個user數據庫)

     > use user;

       switched to db user

     > db.createCollection("user");

     mongodb的數據庫是隱式創建的,並沒有一個命令去創建個數據庫。


幾個注意事項:


mongodb在插入數據的時候,如果你沒有指定_id,這它會自動個你創建個_id,是根據:時間戳|機器| PID | 計數器  來產生的,所以即使跟其他mongodb數據庫,它的值也是唯一的。


mongodb的數據結構 database--collection--document


mongodb的數據是以json格式,並且可以循環嵌套,爲了系統的高效性,最後不要多層嵌套。

在創建數據庫的時候,支持js的語法,可以循環插入多條數據。


32位的版本最多隻能存儲2.5GB的數據。

如果你的MongoDB實例崩潰了(或者由於OOM掛掉了,或者整個系統都崩潰了),那麼誰也無法保證你的數據會怎麼樣。最好的辦法是建立一個replication,

在默認情況下,MongoDB不會進行身份驗證,並且,它會監聽所有的網絡接口。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章