Node.js的基本使用3

koa(擴展知識, 建議學習)

  1. koa是express超集(進階版)

先後端分離和耦合概念介紹

  1. 面向過程 -》 面向對象 --》 面向服務

數據庫 Node.js mongodb(bson json的超集)

分類:
關係型數據庫: MySql
非關係型數據庫: MongoDBsql

MongoDB安裝

  1. 環境變量設置
  2. 系統服務添加有問題
  3. 安裝
    系統不太支持高版本、 降版本 3.2 3.4 mongodb

    寫在mongodb時候, 記得刪除以前建立好的文件夾數據庫

  4. 每次啓動
    最好先
    net start MongoDB
    在:
    mongo

問題?MongodDB

  1. MongoDB的存儲數據的形式bsonexpress

    數據庫功能是用來存儲數據的。
    數據庫分爲關係係數據庫和非關係型數據庫(nosql)
    關係型數據庫是由表和表之間的關係組成的,nosql是由集合組成的,集合下面是不少的文檔。
    非關係型數據庫文件存儲格式爲BSON(一種JSON的擴展)。json

    MongoDB操做命令

  2. MongoDB鏈接地址: mongodb://127.0.0.1:27017
  3. use db_name
    舉例:
    建立: 咱們的數據庫中沒有 你要切換的數據庫, 那麼即爲建立
    切換: 數據庫已經存在, 咱們從一個數據庫切換到另外一個數據庫
  4. show dbs
    將咱們本地的全部數據庫列出來
  5. db/db.getName()
    查看當前使用的數據庫
  6. MongoDB
    數據庫 -》 集合 -》 文檔
    針對數據庫(database)的操做後端

    1. help
    2. use db_name
    3. db||db.getName()
    4. db.states()
    5. db.dropDatabase()
    6. show dbs
    7. db.versions()
    8. db.getMongo()

    針對集合(collections)的操做app

    (1)建立一個集合
    db.createCollection("collName", {size: 20, capped: true, max: 100});
    db.collName.isCapped(); //判斷集合是否爲定容量
    (2)獲得指定名稱的集合
    db.getCollection("account");
    (3)獲得當前db的全部集合
    db.getCollectionNames();
    (4)顯示當前db全部集合的狀態
    db.printCollectionStats()前後端分離

    針對文檔(docuemnt)的操做koa

    1. 添加
      1. db.coll_name.save({}) 推薦
      2. db.coll_name.insertOne({})
      3. db.coll_name.insert({})
    2. 查詢
      db.coll_name.find(arg1,arg2) 全部的
      參數解釋:
      arg1 表示的是匹配條件
      arg2 表示未來輸出的內容匹配 0 表示不要, 1表示要nosql

      舉例:
      db.movies.find({year:'1993'},{_id:0,title:1})

      升序
      舉例:
      db.movies.find({year:'1993'},{_id:0,title:1}).sort({year:1})

      降序
      舉例
      db.movies.find({year:'1993'},{_id:0,title:1}).sort({year:-1})

      截取 某條之前 limit
      db.movies.find({year:'1993'},{_id:0,title:1}).limit(5)
      截取 某條之後 skip

      優先級:
      sort>skip>limit

      $or表示或者, 能夠匹配多個條件
      db.teachers.find({$or:[{age:10},{age:40}]})

      findOne() 第一條數據

      db.teachers.findOne()

      count() 計數

      舉例:
      db.movies.find({year: {$gt:"1993"}},{_id:0,title:1,year:1}).count() //16

    3. 刪除
      db.coll_name.remove({})
    4. 修改
      db.coll_name.update(arg1,arg2,arg3,arg4)
      參數解釋:

      1. arg1: 匹配條件
      2. arg2: 修改的具體內容
      3. arg3: false / true 匹配幾條 false 一條 true 多條
      4. arg4: false / true 修改幾條 false 一條 true 多條
        $set 直接設置
        db.teachers.update({age:120},{$inc: {age: 80}},false,true)
        $inc 在當前基礎上增長多少
        db.teachers.update({age:120},{$inc: {age: 80}},false,true)

        注意:db.students.update({name:'lwj'},{$inc;{age:10}},true,false)//只能修改第一條,一句話來講,雖然匹配多條但修改一條就是一條
        db.students.update({name:'lwj'},{$inc:{age:10}},true)//同上
        db.students.update({name:'lwj'},{$inc:{age:10}},false)//同上
        db.students.update({name:'lwj'},{$inc:{age:10}},false,true)//這個天然是全都修改了

做業:

  1. 筆記整理
  2. 練習 (將全部的命令走一遍)
  3. 預習mongoose
相關文章
相關標籤/搜索