數據庫-Mongo

  1. 分類【有沒有表】
    • 關係型【sql】數據庫
      • 表明:MySQL
      • 組成
        • 數據庫/表/行
    • 非關係型【Nosql】數據庫
      • 表明:MongoDB
      • 組成
        • 數據庫/集合/文檔
      • 文檔中存儲的是鍵值對,相似於json
      • MongoDB的數據類型是:bson
      • bson是json 的超集,能夠存儲二進制【圖片,視頻,音頻】
  2. 分佈式
    • 前端: 相似 模塊化
    • Java: 微服務 、 分佈式 springboot[框架]
    • 大數據: 微服務 分佈式 hadoop [框架]
    • Php: ThinkPhp [框架]

。。。。。。。。。。。。。前端

Mongo數據庫

安裝git

一直next便可,在遇到 I accept the terms in the License Agreement 時取消勾選sql

MongoDB的安裝

  1. 對mongodb數據庫的操做是經過執行命令來完成的,個人電腦裏面這些命令安裝在: C:\Program Files\MongoDB\Server\3.2\binmongodb

  2. 要執行這些命令,須要以管理員身份運行cmd( 不建議用git來操做,由於git不是utf-8編碼,會有中文亂碼問題)。 打開開始菜單,找到命令提示符,在上面點擊右鍵,選擇以管理員身份運行。數據庫

  3. 要想執行mongodb的命令,須要cd到他的安裝目錄下面的bin文件夾下。json

爲了在dos窗口的任何目錄下都能執行mongo的命令,須要先設置環境變量,由於計算機在執行命令的時候會在環境變量中找對應的命令。windows

  1. 設置環境變量數組

    • 右鍵點擊此電腦,點擊屬性,找到高級系統設置點擊,找到右下角環境變量,找到path變量點擊編輯,新建輸入C:\Program Files\MongoDB\Server\3.2\bin
  2. 建立文件夾(重點) 若是已經有data/log目錄了就能夠不作了

    • 在d盤創建一個文件夾mongodb,而且創建子目錄db和log.
    • 在log目錄下創建一個文件MongoDB.log ,後綴爲.log. d:\mongodb\db、d:\mongodb\log, 分別用來存放數據庫文件和數據庫日誌文件.
    • 把mongodb文件夾的只讀屬性去掉。

6.啓動MongoDB

  • 以管理員身份運行cmd.exe,進入dos命令界面,執行下列命令

mongod --storageEngine mmapv1 --dbpath "d:\mongodb\db" --logpath "d:\mongodb\log\MongoDB.log"

  1. 將MongoDB安裝爲windows服務(重點中的重點)
  • 以管理員身份運行cmd,進入bin文件夾,執行下列命令

mongod --storageEngine mmapv1 --dbpath "d:\mongodb\db" --logpath "d:\mongodb\log\MongoDB.log" --install --serviceName "MongoDB"

  • NET START MongoDB 啓動
  • 先 ctrl+c 關閉服務:net stop MongoDB

MongoDB基礎使用

  1. 經常使用的命令(重點)
  • help 查看幫助

    • 顯示數據庫列表 > show dbs
    • 建立數據庫 > use dbname
  • db.web.save({"key":"value"}) 增長數據

  • 刪除數據(重點中的重點)

    1. 刪除文檔
      • db.users.remove({}) 刪除users集合下全部數據
      • db.users.remove({"name": "lecaf"}) 刪除users集合下name=」lecaf」的數據
    2. 刪除集合
      • db.users.drop()或db.runCommand({"drop":"users"}) 刪除集合users
    3. 刪除數據庫
      • db.runCommand({"dropDatabase": 1}) 刪除當前數據庫
  • 查找數據(重點中的重點)

    • db.users.find() 查找users集合中全部數據
    • db.users.findOne()查找users集合中的第一條數據
    • db.users.find().pretty()格式化查詢到的數據
  • 修改數據(重點中的重點) db.web.update({"name":"a1"}, {$set: {sex:」women」}},true,true)修改name=a1的數據爲sex=1,第一個參數是查找條件,第二個參數是修改內容,主鍵不能修改,第三個參數表示匹配全部符合條件的數據,第四個參數表示修改全部匹配到的數據

  1. MongoDB高級命令(重點)
  • 條件查找
    • db.collection.find({ "key" : value }) 查找key=value的數據
    • db.collection.find({ "key" :{ $gt: value }}) key > value
    • db.collection.find({ "key" :{$lt: value }}) key < value
    • db.collection.find({ "key" :{ $gte: value }}) key >= value
    • db.collection.find({ "key" :{$lte: value }}) key <= value
    • db.collection.find({ "key" :{ $gt: value1 , $lt: value2}}) value1 < key <value2
    • db.collection.find({ "key" :{$ne: value }}) key <> value 匹配不等於該值的
    • db.collection.find({ "key": { $mod : [ 10 , 1 ] } }) 取模運算,條件至關於key % 10 == 1 即key除以10餘數爲1的
    • db.collection.find({"key": { $in: [ 1, 2, 3 ] } }) 屬於,條件至關於key等於[ 1, 2, 3 ]中任何一個
    • db.collection.find({"key": { $nin: [ 1, 2, 3 ] } }) 不屬於,條件至關於key的值不屬於[ 1, 2, 3 ]中任何一個。
    • db.collection.find({ "key": { $size: 1 } })$size 數量、尺寸,條件至關於key對應的值的數量是1(值必須是數組)
    • db.collection.find({ "key": { $exists : true|false } }) $exists字段存在,true返回存在字段key的數據,false返回不存在字段key的數據
    • db.collection.find({ $or : [{a : 1}, {b : 2} ] })符合兩個條件中任意一個的數據。$or語法表示或的意思。
  • 排序
    • db.collection.find().sort({ "key1" : -1 ,"key2" : 1 }) 這裏的1表明升序,-1表明降序
  • 其餘
    • db.collection.find().limit(5) 控制返回結果數量,若是參數是0,則沒有約束,limit()將不起做用
    • db.collection.find().skip(5)    控制返回結果跳過多少數量,若是參數是0,則看成沒有約束,skip()將不起做用,或者說跳過了0條
    • db.collection.find().skip(5).limit(5) 可用來作分頁,跳過5條數據再取5條數據
    • db.collection.find().count() count()返回結果集的條數
    • db.collection.find().skip(5).limit(5).count(true) 在加入skip()和limit()這兩個操做時,要得到實際返回的結果數,須要一個參數true,不然返回的是符合查詢條件的結果總數
相關文章
相關標籤/搜索