成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

使用 mongoose 操作 mongodb 增刪改查

renweihub / 2826人閱讀

摘要:使用操作的測試文件連接數據庫引入連接指定的數據庫只有數據庫是變化的獲取連接對象綁定連接完成的監(jiān)聽用來提示連接成功得到對應特定集合的字義描述文檔結構定義與集合對應,可以操作集合通過或其實例對集合數據進行操作通過實例的添加數據通過的查詢多個或一

使用 mongoose 操作 mongodb 的測試文件

連接數據庫
1.1 引入 mongoose
1.2 連接指定的數據庫(URL 只有數據庫是變化的)
1.3 獲取連接對象
1.4 綁定連接完成的監(jiān)聽(用來提示連接成功)

得到對應特定集合的 Model
2.1 字義 Schema(描述文檔結構)
2.2 定義 Model(與集合對應,可以操作集合)

通過 Model 或其實例對集合數據進行 CRUD 操作
3.1 通過 Model 實例的 save() 添加數據
3.2 通過 Model 的 find()/findOne() 查詢多個或一個數據
3.3 通過 Model 的 findByIdAndUpdate() 更新某個數據
3.4 通過 Model 的 deleteOne() 刪除匹配的數據

*/

下載mongoose依賴包

npm install --save mongoose 

下載md5加密依賴包

npm install --save blueimp-md5
下面的代碼位置: db_test.js
// 引入 md5 依賴
const md5 = require("blueimp-md5")
1. 連接數據庫
// 1.1 引入 mongoose
const mongoose = require("mongoose")
// 1.2 連接指定的數據庫(URL 只有數據庫是變化的)
mongoose.connect("mongodb://localhost:27017/zp_test", {useNewUrlParser: true})
// 1.3 獲取連接對象
const conn = mongoose.connection
// 1.4 綁定連接完成的監(jiān)聽(用來提示連接成功)
conn.on("connected", function () {
  console.log("數據庫連接成功!")
})
2. 得到對應特定集合的 Model
// 2.1 字義 Schema(描述文檔結構)
const userSchema = mongoose.Schema({
  username: {type: String, require: true}, // 用戶名
  password: {type: String, required: true}, // 密碼
  type: {type: String, required: true} // 用戶類型: 求職者/老板
})
// 2.2 定義 Model(與集合對應,可以操作集合)
const UserModel = mongoose.model("users", userSchema) // 集合名: users
3. 通過 Model 或其實例對集合數據進行 CRUD 操作
 3.1 通過 Model 實例的 save() 添加數據
function testSave() {
  // user 數據對象
  const user = {
    username: "mandy",
    password: md5("1234"),
    type: "求職者"
  }
  // 創(chuàng)建 Model 實例
  const userModel = new UserModel(user)
  // 或者像下面這樣添加數據
  // const userModel = new UserModel({username: "Tom", password: md5("3333"), type: "老板"})
  
  // 保存到數據庫
  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: "5cdf99ebf3539334948ae2c8"}, function (err, user) { // 如果有匹配返回的是一個user
    console.log("findOne()", err, user)
  })
}
// testFind()

 3.3 通過 Model 的 findByIdAndUpdate() 更新某個數據
function testUpdate() {
  UserModel.findByIdAndUpdate({_id: "5cdfacc55684652a08b49014"}, {username: "一個老板"}, function (err, user) {
    console.log("findByIdAndUpdate()", err, user)
  })
}
// testUpdate()

 3.4 通過 Model 的 remove() 刪除匹配的數據
function testDelete() {
  UserModel.deleteOne({_id: "5cdf9d761a1c050c70bc0d09"}, function (err, result) {
    console.log("deleteOne()", err, result)
  })
}
// testDelete()

運行:

node db_test.js

可以在mongodb的可視化工具中查看效果.

可視化工具 webstorm中的 Mongo Plugin 插件 Robo 3T

下載地址: https://robomongo.org/download

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://systransis.cn/yun/19530.html

相關文章

  • 使用express+mongoosemongodb實現刪改操作

    摘要:項目地址寫在開頭本文主要分享我如何使用對實現增刪改查操作,感謝社區(qū)所有精品文章的幫助,以及的開源項目對我的啟發(fā)。我們這個項目是建立一個班級學生管理系統(tǒng),能夠對學生的姓名及學號進行增刪改查的操作。 項目地址:https://github.com/jrainlau/mongoose_cru... 寫在開頭 本文主要分享我如何使用express+mongoose對mongodb實現增刪改查...

    Markxu 評論0 收藏0
  • mongoDB初階系列三:mongoose

    摘要:前言上篇初階系列二中的增刪改查中講解了用驅動來對數據進行增刪改查,本篇將繼續(xù)前進,依舊通過增刪改查來講解如何用更順暢的操控。查下面這段代碼對集合進行搜索,并輸出每項任務的唯一和描述,等打印完成后,關閉數據庫連接。 前言 上篇 mongoDB初階系列二:node中的增刪改查 中講解了用node驅動來對數據進行增刪改查,本篇將繼續(xù)前進,依舊通過增刪改查來講解如何用mongoose更順暢的操...

    Null 評論0 收藏0
  • mongoDB初階系列三:mongoose

    摘要:前言上篇初階系列二中的增刪改查中講解了用驅動來對數據進行增刪改查,本篇將繼續(xù)前進,依舊通過增刪改查來講解如何用更順暢的操控。查下面這段代碼對集合進行搜索,并輸出每項任務的唯一和描述,等打印完成后,關閉數據庫連接。 前言 上篇 mongoDB初階系列二:node中的增刪改查 中講解了用node驅動來對數據進行增刪改查,本篇將繼續(xù)前進,依舊通過增刪改查來講解如何用mongoose更順暢的操...

    yzzz 評論0 收藏0
  • node express mongoose簡單實現全棧之刪改

    摘要:作為一個有志向的前端,怎么能不搞搞全棧呢。。。地址歡迎大家多多交流前端技術啊,如果大家喜歡的話,請給我一個小小的哦 作為一個有志向的前端,怎么能不搞搞全(zhuang)棧(bi)呢。。。說搞咱就搞啊,后端就用node,數據庫就用mongodb,前端呢,呃,再搞個node的web框架express,思路搞定,開始搭建我們的環(huán)境,搭建之前還是先看看我們的目標和成果 項目的目標和成果 sh...

    AndroidTraveler 評論0 收藏0

發(fā)表評論

0條評論

renweihub

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<