mongodb 使用入門介紹

mongodb基本介紹

mongodb是一種分佈式、非關係型的數據庫,它區別於SQLserver ,Mysql,Oricle等常規的關係型數據庫。它也被稱爲文檔型的數據庫,這是因爲mongodb在使用過程中脫離了傳統的二維表格形式,使得它在存儲數據時更加靈活。在利用mongodb存儲數據時給人的感覺更像是在寫json文件。

    mongoDB的適用場景:

    1.  適合作爲信息基礎設施的持久化緩存層

    2. 適合實時的插入、更新與查詢,並具備應用程序實時數據存儲所需的複製及高度伸縮性

    3. 適合文檔化格式的存儲及查詢

    4. 適合由數十或數百臺服務器組成的數據庫

     mongoDB不適用場景:

     1. 要求高度事務性的系統。例如對於銀行或會計等需要大量原子性複雜事物的應用程序來說,還是需要關係型數據庫的。

     2. 傳統的商業智能應用

     3. 複雜的表級聯查詢

mongodb基本語法

打開命令行控制檯,輸入命令mongo,如果您還沒有安裝mongodb請查看上篇安裝介紹的文章。 在輸入mongo命令後我們就會進入到mongodb的命令環境。如果您的系統提示,mongo不是內部或外部命令,那你需要首先配置一下path環境。
找到mongodb安裝所在目錄,並找到bin目錄所在地址,複製地址(默認C:\Program Files\MongoDB\Server\3.2\bin),右鍵 計算機->屬性 -> 高級系統設置 -> 環境變量 ->path 編輯,將地址粘貼在最後。

查看數據庫

 show dbs; // 默認 顯示 test local

添加單條記錄

db.admin.insertOne({username:'jack',password:'123456'}); // 自動創建admin文檔並插入一條數據

添加多條記錄

db.admin.insertMany([{username:'alice',password:'abcd'},{username:'allen',password:'hello'}]);

不區分條數插入記錄

db.admin.insert({username:'jone',password:'somewd'});
db.admin.insert([{username:'name1',password:'pw1'},{username:'name2',password:'pw2'}]);

查詢文檔記錄

db.admin.find(); 

修改單條記錄

db.admin.updateOne({username:'allen'},{$set:{password:'1111!!'}});

修改多條記錄

db.admin.updateMany({},{$set:{password:'abcd!!'}}); // 不寫條件,全部修改

不區分條數修改記錄

db.admin.update({username:'jack'},{$set:{password:'hello!!'}});

刪除單條記錄

db.admin.deleteOne({password:'hello!!'});

刪除多條記錄

db.admin.deleteMany([{username:'jone'},{username:'name2'}]);

根據條件進行刪除

db.admin.remove({username:'name1'});

全部刪除

db.admin.remove({}); //不添加條件,刪除全部記錄

現在admin文檔內所有記錄都已經被刪除,我們需要重新添加一些數據,以便完成下面的學習和操作。新建josn數據如下:

[{ username:'jack',password:'pw000',age:'18'},
{ username:'jone',password:'pw111',age:'20'},
{ username:'allen',password:'pw222',age:'16'},
{ username:'salary',password:'pw333',age:'13'},
{ username:'mesa',password:'pw333',age:'24'} ]

admin文檔中插入數據

db.admin.insert(
[{ username:'jack',password:'pw000',age:'18'},
  { username:'jone',password:'pw111',age:'20'},
  { username:'allen',password:'pw222',age:'16'},
  { username:'salary',password:'pw333',age:'13'},
  { username:'mesa',password:'pw333',age:'24'}
]);

條件查詢

db.admin.find({age:'13'}); // 查詢年齡爲13的記錄

db.admin.find({age:'13'},{username:1,password:1,_id:0});// 顯示字段 0不顯示 1 顯示

指針方法

db.admin.find({}).size(); // 返回查詢結果條數

db.admin.find({}).skip(3); //跳過前3條記錄

db.admin.find({}).limit(2); //截取前兩條記錄

db.admin.find({}).skip(2).limit(2); // 返回第 3 、4 條數據

排序

db.admin.find({}).sort({age:1});  // 按年齡從小到大排序

db.admin.find({}).sort({age:-1});  //按年齡從大到小排序
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章