讓咱們面對這樣的困境, 編寫MongoDB驗證,轉換和業務邏輯是很是麻煩的. 因此咱們發明了Mongoose. ——《Mongoose》中文網javascript
就像mongoose中文網描述的那樣,「Mongoose爲模型提供了一種直接的,基於scheme結構去定義你的數據模型。它內置數據驗證, 查詢構建,業務邏輯鉤子等,開箱即用」,Mongoose能對mongodb數據庫進行便捷易用且高效的操做,爲開發者對數據庫中數據的增刪改查提供了一條方便的捷徑。java
使用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
let User = mongoose.model("user", UserSchema, "admin")
,第三個參數用來指定集合名save()
時,才向數據庫中寫入數據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
本文是學習過程當中的小小總結,不免有所不足之處,但願能對朋友們的學習有幫助。