天天看點

mongodb

    

mongodb

1、官網下載下傳 對應的版本,  mongodb-win32-x86_64-2008plus-ssl-3.4.6-signed.msi

層檔案夾

  

mongodb

 到bin目錄下面 管理者權限運作cmd指令  mongod.exe

   

mongodb

 ==》

mongodb

3、啟動 

D:\wamp\mongodb\bin>net start mongodb

請求的服務已經啟動。

4、連結資料庫  D:\wamp\mongodb\bin>mongo 127.0.0.1:27017

mongodb

 5、檢視資料庫 > show databases 或  用 show dbs

mongodb
mongodb

文法: show dbs  或者 show databaes(和mysql一樣);

mongodb

use 資料庫名(與mysql一緻)

mongodb

删除資料庫

 use 資料庫

db.dropDatabase();

文法: show collections(推薦使用)  或者  show tables(與mysql的相容)

當使用這個指令時,要選擇一個資料庫

mongodb

使用mongodb特有的指令

mongodb

文法:db.createCollection(‘集合名’);   # 注意集合這個單詞的首字母大寫

mongodb
mongodb

注意:如果use了一個不存在的資料庫,我們依舊可以在裡面建立集合.

當use一個不存在的資料庫時就會自動建立.

mongodb

文法:db.集合名.drop();

三 實作資料(文檔)的crud

文法:db.集合名.insert(json資料);

    json資料  {“key1”:”value1”,”key2”:”value2”}

     說明:插入記錄成功之後,mongodb會預設為每一個文檔都添加一個_id的字段,并且 同一集合中的_id是唯一的.

思考:一次性插入多條資料.

文法格式:db.goods.insert([{},{},{}]);

以js中索引數組形式插入多條資料

文法:db.集合名.find(查詢條件,查詢的列)

如:db.goods.find()    #查詢集合中所有的記錄

   db.goods.find({“name”:”feng”})  #查詢集合中名字叫feng的記錄

第一個參數查詢條件相當于MySQL中的where條件

第二個參數查詢列格式說明:

{“age”:1}     #表示僅傳回年齡

db.goods.find({"name":"feng"},{"age":1});

{“age”:0}     #傳回除了年齡意外其他資料

db.goods.find({"name":"feng"},{"age":0});

{“age”:1,name”:1}  # 隻傳回年齡與姓名

文法:db.集合名.remove(query,justOne);

 參數說明:query查詢表達式是一個json資料(與sql中的where相似)

如:删除鍵名為’李世民’的資料:db.test.remove({“name”:”李世民”});

justOne:true/false 是否隻删除1條.預設為false(相當于sql中的limit)

一次隻删一條資料

一次性删除兩條資料,即remove的第二個參數設定為FALSE

文法:db.集合名.update(條件,資料,[是否新增預設false],[是否修改多條預設false]).

  參數說明 :

  參數3 :修改的資料不存在則自動添加,預設false,不添加

  參數4:是否修改所有符合條件的資料,預設值修改一條.

db.createCollection("test1");

for(var i = 1; i<= 10; i++){

    db.test1.insert( {"name":"zs"+i,"age":i} );

}

實際的操作:

例1:

将{“name”:”zs1”}修改為{“name”:”zs2”}

問題:我們隻想修改名字.但是年齡被删除了.

例2:

a如何解決例1中的資料替換問題?

辦法:使用修改器.

文法:db.集合名.update({條件},{修改器名稱:{修改的鍵:修改的值}});

例2:通過修改器将zs3的年齡修改為33

db.test1.update({“name”:”zs1”},{”$set”:{“age”:33}});

說明:修改器名稱的引号可加可不加,在這裡統一必須要加.

例2: 給zs10的年齡增加兩歲.

db.test1.update({“name”:”zs10”},{“$inc”:{“age”,2}});

當我們再修改資料時,如果沒有符合條件的.就直接新增加一條資料.

如果一次性有多條資料滿足要求.那麼設為TRUE時.就全部修改

例:把zs2的name修改為250

 查詢資料:

mongodb
mongodb
mongodb
mongodb
mongodb

 6、主從伺服器,資料同步:

mongodb

         

mongodb
mongodb
mongodb

     

mongodb
mongodb
mongodb
mongodb
mongodb
mongodb
mongodb