让咱们面对这样的困境, 编写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
本文是学习过程当中的小小总结,不免有所不足之处,但愿能对朋友们的学习有帮助。