使用mongoose

一、安裝mongodb

 

二、後臺文件中建立文件夾db數據庫

 

 三、鏈接數據庫,並檢測數據庫是否鏈接成功mongoose

 

const md5 = require('blueimp-md5') // 1. 鏈接數據庫 // 1.1. 引入 mongoose 
const mongoose = require('mongoose') // 1.2. 鏈接指定數據庫(URL 只有數據庫是變化的) 

mongoose.connect('mongodb://localhost:27017/gzhipin_test2') // 1.3. 獲取鏈接對象 

const conn = mongoose.connection // 1.4. 綁定鏈接完成的監聽(用來提示鏈接成功) 

conn.on('connected', function () { console.log('數據庫鏈接成功') })

 四、接下來幹什麼函數

 六、概念:文檔與集合ui

文檔至關於時一我的的信息,一條記錄加密

因此是單數spa

集合至關於時一堆人的信息,一張表3d

因此是複數code

七、定義Schema文檔的結構對象

 

 八、定義模型model,scheme只是結構,有model才能添加數據

// 2.2. 定義Model(與集合對應, 能夠操做集合)
const UserModel = mongoose.model('user', userSchema) // 集合的名稱爲: users

/*3. 經過Model或其實例對集合數據進行CRUD操做*/
// 3.1. 經過Model實例的save()添加數據
function testSave() {
  // 建立UserModel的實例
  const userModel = new UserModel({ username: 'Bob', password: md5('234'), type: 'laoban' })
  // 調用save()保存
  userModel.save(function (error, user) {
    console.log('save()', error, user)
  })
}
testSave()

九、使用md5加密密碼

const md5 = require('blueimp-md5') // md5加密的函數

 十、回調函數function (error, user) 的參數,第一個是錯誤信息,第二個信息文檔doc

十一、增刪改查

// 3.1. 經過 Model 實例的 save()添加數據
function testSave() {
// user 數據對象
const user = {
username: 'xfzhang',
password: md5('1234'),
type: 'dashen',
}
const userModel = new UserModel(user)
// 保存到數據庫
userModel.save(function (err, user) {
console.log('save', err, user)
})
}
// testSave()
// 3.2. 經過 Model 的 find()/findOne()查詢多個或一個數據
function testFind() {
// 查找多個
UserModel.find(function (err, users) { // 若是有匹配返回的是一個[user, user..], 若是
沒有一個匹配的返回[]
console.log('find() ', err, users)
})
// 查找一個
UserModel.findOne({_id: '5ae1d0ab28bd750668b3402c'}, function (err, user) { // 若是
有匹配返回的是一個 user, 若是沒有一個匹配的返回 null
console.log('findOne() ', err, user)
})
}
// testFind()
// 3.3. 經過 Model 的 findByIdAndUpdate()更新某個數據
function testUpdate() {
UserModel.findByIdAndUpdate({_id: '5ae1241cf2dd541a8c59a981'}, {username: 'yyy'},
function (err, user) {
console.log('findByIdAndUpdate()', err, user)
// testUpdate()
// 3.4. 經過 Model 的 remove()刪除匹配的數據
function testDelete() {
UserModel.remove({_id: '5ae1241cf2dd541a8c59a981'}, function (err, result) {
console.log('remove()', err, result)
})
}
// testDelete()

 十二、向外暴露model

相關文章
相關標籤/搜索