數據庫和mongoose

 

  • 數據庫

    1. 關係型數據庫
    • 概念:以行和列的形式存儲數據,以便於用戶理解。這一系列的行和列被稱爲表,一組表組成了數據庫。表與表之間的數據記錄有關係。
    • 經常使用的數據庫有哪些:Access mySql SqlServer oracle db2等
    1. 非關係型數據庫
    • 概念:用於超大規模數據的存儲。(例如谷歌或Facebook天天爲他們的用戶收集萬億比特的數據)。這些類型的數據存儲不須要固定的模式,無需多餘操做就能夠橫向擴展。
    • 經常使用數據庫:MongoDB,Redis,HBase,CouchDB等
    1. mongodb 和 sql區別
      1. sql 是 數據庫 表 行
      2. NoSql 是 數據庫 集合 文檔
    2. bson是mongodb的數據存儲格式
    3. bson是json的超集
    • 數據庫功能是用來存儲數據的。
    • 數據庫分爲關係係數據庫和非關係型數據庫(nosql)
    • 關係型數據庫是由表和表之間的關係組成的,nosql是由集合組成的,集合下面是不少的文檔。
    • 非關係型數據庫文件存儲格式爲BSON(一種JSON的擴展)。
    1. mongodb數據庫鏈接地址: mongodb://127.0.0.1:27017

    mongoose

    mongodb這個數據的操做確定不止一種形式,mongoose只是其中一種sql

    mongoose操做流程

    1. 安裝mongoose
      $ cnpm i mongoose -D
    2. 鏈接數據庫
    var mongoose = require( 'mongoose )
    //mongoose.connect(鏈接地址/數據庫名稱)
    mongoose.connect( 'mongodb://127.0.0.1:27017/students' )
    1. Schema定義
    • 定義 Schema
    • 定義 Model
    • 定義 Entity
    // 1. 定義Schema// var studentsSchema = new mongoose.Schema( options ) //options是用來定義存儲數據的數據類型var studentsSchema = new mongoose.Schema( {
    // 數據: 數據類型
    id: Number,
    name: String,
    age: Number
    })
    // 2. 定義模型// var studentsModel = mongoose.model( 集合名稱,骨架 )var studentsModel = mongoose.model( 'students', studentsSchema )
    // 3. 定義實體var students = new studentsModel()
    1. CURD 增刪改查
    • 增長
    students.id = 1
     students.name = "yyb"
     students.age = 18
     
     students.save( ( error ) => {
     if( error ) throw error
    console.log( '存儲成功' )
     })
    • 查詢
    studentsModel.find({}, ( error, result) => {
            if( error ) throw error
            console.log( result[0]._id )
        })
    • 刪除 ( 經過 id 找到對應數據來刪除 )
    studentsModel.find({}, ( error, result) => {
            if( error ) throw error
            var id = result[0]._id
        studentsModel.findById( id, ( error, data ) => {
            if( error ) throw error
        //刪除
        data.remove( () => {
        console.log( '刪除成功' )
                })
            })
        })
    • 修改
    studentsModel.find( {} , ( error , result ) => {
            if( error ) throw error
            const id = result[1]._id
        studentsModel.findById( id , ( error , data ) => {
            if( error ) throw error
            data.name = " 1902 "
            data.save()
        })
    })
    1. MVC
    • M Model 數據
    • V View 視圖
    • C Controller 控制器( 邏輯操做 )
      --> RMVC
      R Router 路由

數據庫關係型數據庫概念:以行和列的形式存儲數據,以便於用戶理解。這一系列的行和列被稱爲表,一組表組成了數據庫。表與表之間的數據記錄有關係。經常使用的數據庫有哪些:Access mySql SqlServer oracle db2等非關係型數據庫概念:用於超大規模數據的存儲。(例如谷歌或Facebook天天爲他們的用戶收集萬億比特的數據)。這些類型的數據存儲不須要固定的模式,無需多餘操做就能夠橫向擴展。經常使用數據庫:MongoDB,Redis,HBase,CouchDB等mongodb 和 sql區別sql 是 數據庫 表 行NoSql 是 數據庫 集合 文檔bson是mongodb的數據存儲格式bson是json的超集數據庫功能是用來存儲數據的。數據庫分爲關係係數據庫和非關係型數據庫(nosql)關係型數據庫是由表和表之間的關係組成的,nosql是由集合組成的,集合下面是不少的文檔。非關係型數據庫文件存儲格式爲BSON(一種JSON的擴展)。mongodb數據庫鏈接地址: mongodb://127.0.0.1:27017mongoosemongodb這個數據的操做確定不止一種形式,mongoose只是其中一種
mongoose操做流程安裝mongoose$ cnpm i mongoose -D鏈接數據庫var mongoose = require( 'mongoose )//mongoose.connect(鏈接地址/數據庫名稱)mongoose.connect( 'mongodb://127.0.0.1:27017/students' )123Schema定義定義 Schema定義 Model定義 Entity// 1. 定義Schema// var studentsSchema = new mongoose.Schema( options ) //options是用來定義存儲數據的數據類型var studentsSchema = new mongoose.Schema( {// 數據: 數據類型id: Number,name: String,age: Number})// 2. 定義模型// var studentsModel = mongoose.model( 集合名稱,骨架 )var studentsModel = mongoose.model( 'students', studentsSchema )// 3. 定義實體var students = new studentsModel()12345678910111213CURD 增刪改查增長 students.id = 1 students.name = "yyb" students.age = 18  students.save( ( error ) => { if( error ) throw errorconsole.log( '存儲成功' ) })12345678查詢    studentsModel.find({}, ( error, result) => {        if( error ) throw error        console.log( result[0]._id )    })1234刪除 ( 經過 id 找到對應數據來刪除 )    studentsModel.find({}, ( error, result) => {        if( error ) throw error        var id = result[0]._id    studentsModel.findById( id, ( error, data ) => {        if( error ) throw error    //刪除    data.remove( () => {    console.log( '刪除成功' )            })        })    })1234567891011修改    studentsModel.find( {} , ( error , result ) => {        if( error ) throw error        const id = result[1]._id    studentsModel.findById( id , ( error , data ) => {        if( error ) throw error        data.name = " 1902 "        data.save()    })})123456789MVCM Model 數據V View 視圖C Controller 控制器( 邏輯操做 )–> RMVCR Router 路由--------------------- 做者:weixin_45058102 來源:CSDN 原文:https://blog.csdn.net/weixin_45058102/article/details/90408920 版權聲明:本文爲博主原創文章,轉載請附上博文連接!mongodb

相關文章
相關標籤/搜索