mongodb這個數據的操做確定不止一種形式,mongoose只是其中一種sql
$ cnpm i mongoose -D
var mongoose = require( 'mongoose ) //mongoose.connect(鏈接地址/數據庫名稱) mongoose.connect( 'mongodb://127.0.0.1:27017/students' )
// 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()
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 ) })
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() }) })
數據庫關係型數據庫概念:以行和列的形式存儲數據,以便於用戶理解。這一系列的行和列被稱爲表,一組表組成了數據庫。表與表之間的數據記錄有關係。經常使用的數據庫有哪些: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