mongoose的入門使用

讓咱們面對這樣的困境, 編寫MongoDB驗證,轉換和業務邏輯是很是麻煩的. 因此咱們發明了Mongoose. ——《Mongoose》中文網javascript

就像mongoose中文網描述的那樣,「Mongoose爲模型提供了一種直接的,基於scheme結構去定義你的數據模型。它內置數據驗證, 查詢構建,業務邏輯鉤子等,開箱即用」,Mongoose能對mongodb數據庫進行便捷易用且高效的操做,爲開發者對數據庫中數據的增刪改查提供了一條方便的捷徑。java

安裝mongoose

使用npm install mongoose來安裝mongoosemongodb

npm install mongoose
複製代碼

基礎使用

//引入mongoose
const mongoose = require("mongoose")


// 鏈接數據庫
mongoose.connect("mongodb://127.0.0.1:27017/myapp")

let UserSchema = mongoose.Schema({
    username: String,
    age: Number,
    status: Number
})

let User = mongoose.model("user", UserSchema)

let u = new User({
    username: "wangcai",
    age: 100,
    status: 1
})

u.save(function (err) {
    if (err) {
        console.log(err)
    }
    console.log("數據保存成功了...")
})
複製代碼

運行結果: 數據庫

數據庫中:

須要注意的是npm

  • model的第一個參數,首字母要大寫
  • model能夠有第三個參數,let User = mongoose.model("user", UserSchema, "admin"),第三個參數用來指定集合名
  • 當程序調用到save()時,才向數據庫中寫入數據
  • 在定義Schema時,能夠指定默認值,例如:age:{ type:Number, default:10 // 默認參數 }

查詢

//查詢示例
const mongoose = require("mongoose")
mongoose.connect("mongodb://127.0.0.1:27017/myapp")
let UserSchema = mongoose.Schema({
    name: String,
    age: Number
})
let ThisModel = mongoose.model("User", UserSchema)
let Obj = new ThisModel({
    name: "xiaoqiang",
    age: 10
})
Obj.save(function (err) {
    if (err) {
        console.log(err)
    }
    console.log("數據保存成功了...")
})

//查詢
ThisModel.find({}, function (err, doc) {
    if (err) {
        console.log(err)
    }
    console.log(doc)
})
複製代碼

查詢結果:bash

更新

更新前: app

//更新示例
const mongoose = require("mongoose")
mongoose.connect("mongodb://127.0.0.1:27017/myapp")
let UserSchema = mongoose.Schema({
    name: String,
    age: Number
})
let ThisModel = mongoose.model("User", UserSchema)
ThisModel.updateOne({ _id: "5d6cd43be93a8e41146ded63" }, { age: "1000" }, function (err, data) {
    if (err) console.log(err)
    console.log(data)
})
複製代碼

輸出結果:mongoose

數據庫更新:學習

刪除

//刪除示例
const mongoose = require("mongoose")
mongoose.connect("mongodb://127.0.0.1:27017/myapp")
let UserSchema = mongoose.Schema({
    name: String,
    age: Number
})
let ThisModel = mongoose.model("User", UserSchema)
ThisModel.deleteOne({ _id: "5d6cd43be93a8e41146ded63" }, function (err, data) {
    if (err) console.log(err)
    console.log(data)
})
複製代碼

輸出結果:ui

結束

本文是學習過程當中的小小總結,不免有所不足之處,但願能對朋友們的學習有幫助。

相關文章
相關標籤/搜索