Nosql之Mongodb 1 安裝配置與基本操作

來源:互聯網
上載者:User
mongodb是什麼以及其優缺點這裡就不介紹了,這幾篇文章目的主要是通過實際操作來認識mongodb

 

Mongodb安裝以及初始化

1 :http://www.mongodb.org/

 

2 安裝?需要嗎?超級簡單,直接解壓就ok啦!!!

 

3 為了方便使用直接將安裝目錄下的bin檔案夾設定到環境變數中去

 

 

4 建立資料庫檔案存放目錄,其實就是建立一個檔案夾,比如建立檔案夾d:\Mongdb

 

5 建立一個mongodb的記錄檔,比如建立一個檔案d:\Mongdo\logs\mongodb.log

 

6 我們可以將mongodb註冊成一個windows服務,這樣我們就可以使用net start和net stop來啟動和關閉服務了,在windows的CMD下面輸入

mongod --dbpath=d:\Mongodb --logpath=d:\Mongodb\logs\mongodb.log

 

7 啟動mongodb服務

net start mongodb

 

 

搞定!!!

 

牛刀小試

我們建立一個叫UserInfo的資料庫,並建立users集合(類似於RDBMS中的表),並插入兩條記錄(Mongodb中叫做document(文檔))

 

首先在cmd下面輸入mongo,進入用戶端命令列,它是一個js解譯器,能夠支援javascript文法,比如  for(var i=0; i<10; i++) db.users.save({name:”name”+i, age:i});  等等等

 

1)       建立UserInfo資料庫

use UserInfo

註:是如果不存在UserInfo這個資料庫,它會自動的給我們建立,如果存在當然是直接切換到這個資料庫咯,如:

 

 

2)       建立兩條記錄user1和user2並插入到users集合中

user1 = {name:”zhangsan”,  age:24};

user2 = {name:”lisi”, age:23};

db.users.save(user1);

db.users.save(user2);

---------------------------------------------------------------------------------------------------------------------------

也可以這麼寫

db.users.save({name:”zhangsan”, age:24});

db.users.save({name:”lisi”, age:23});

---------------------------------------------------------------------------------------------------------------------------

註:這裡同樣我們不需要預先建立users這個集合,在第一次插入資料時會給我們自動建立

 

 

3)       查詢剛才我們插入到users集合中的資料

db.users.find();

 

 

說明:

儲存在mongdb上的每一個document都會有一個預設的主鍵_id(如果我們不顯示的指定的話), 如。這個_id自動是每個文檔所必須的,當然它的類型不一定要是的ObjectId,不過主鍵必須是唯一的。

 

Mongodb的增刪改新增記錄

文章開始已經介紹過了,這裡有一點需要注意的就是

db.insert()和db.save()的區別:

-----------------------------------------------------------------------------------------------------------

insert   永遠都是插入一條新記錄

save    如果不存在此記錄則插入,存在則更新

-----------------------------------------------------------------------------------------------------------

先插入一些資料用於測試

db.users.save({name:"lucy", age:23, country:"canada", gender:0});

db.users.save({name:"joe", age:32, country:"american", gender:1});

db.users.save({name:"fanny", age:22, country:"china", gender:0});

db.users.save({name:"royall", age:44, country:"africa", gender:1});

db.users.save({name:"michael", age:25, country:"china", gender:1});

db.users.save({name:"edgar", age:24, country:"china", gender:1});

db.users.save({name:"apple", age:39, country:"brazil", gender:0});

db.users.save({name:"bruce", age:51, country:"england", gender:1});

db.users.save({name:"lee", age:12, country:"japan", gender:1});

db.users.save({name:"cang", age:31, country:"japan", gender:0});

db.users.save({name:"hebe", age:33, country:"china", gender:0});

db.users.save({name:"pig", age:1, country:"pigHouse", gender:0});

db.users.save({name:"kevin", age:48, country:"china", gender:1});

修改記錄

用新的文檔替換

db.users.update({“name”:”cang”}, {“name”:”hello”, fav: {“favID”:100, “favName”:”football” } } )

 

只修改某個值

修改name為bruce的country為Australia,age為18

         db.users.update({“name”:"bruce"}, {$set:{“country”:"Australia", “age”:18}})

刪除鍵

         db.users.update({“name”:”bruce”}, {$unset:{“country”:1}})

 

前面的update操作只會更新匹配到的第一條記錄,關於update還有兩個參數

 

update(query, obj, upsert, multi)

upsert指的是如果不存在則進行插入

multi是指更新匹配到的所有文檔

 

刪除記錄

刪除users集合下所有記錄

         db.users.remove()

刪除指定條件的記錄

         db.users.remove({“name”:”apple”})

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.