1、需求分析
Mongoose是什么?
Mongoose優(yōu)勢(shì)!
2、基本操作
//1.鏈接數(shù)據(jù)庫(kù)
let mongoose = require("mongoose");
mongoose.connect("mongodb://localhost/m_data");
mongoose.connection.once("open", () => {
console.log('數(shù)據(jù)庫(kù)鏈接成功')
})
//2.創(chuàng)建Schema(模型對(duì)象)
let Schema = mongoose.Schema;
let personSchema = new Schema({
name: String,
age: Number,
sex: {
type: String,
default: "男"
},
chat: String
});
//3.創(chuàng)建Model對(duì)象
let personModel = mongoose.model("person",personSchema);
3. 增刪改查
增
// 3.1 增加
personModel.create([
{name: "馬紅燈", age: 19, chat: "紅燈1992"},
{name: "龔志敏", age: 42, chat: "龔1992"},
{name: "李發(fā)華", age: 32, chat: "發(fā)華1992"},
{name: "李建華", age: 22, chat: "建華1992"},
{name: "依依", age: 22, chat: "依依1992", sex: "女"},
], (err) => {
if(!err) {
console.log('插入成功')
} else {
throw err;
}
})
查
// 3.2 查詢(xún)
personModel.find({name: "錢(qián)森"},(err, docs) => {
if(!err) {
console.log(docs)
console.log(typeof docs)
} else {
throw err
}
})
personModel.find({},{name: 1,_id:0},(err, docs) => { //定義查詢(xún)結(jié)果顯示字段
if(!err) {
console.log(docs)
console.log(typeof docs)
} else {
throw err
}
})
/* skip:2 開(kāi)始位置 limit:2 取出信息條數(shù)*/
personModel.find({}, "-_id name sex chat", {skip:2, limit:2}, (err, docs) => { //定義查詢(xún)結(jié)果顯示字段
if(!err) {
console.log(docs)
console.log(typeof docs)
} else {
throw err
}
})
改
// 4.3修改
personModel.update({name:"錢(qián)森"}, {$set: {age:96}},{multi: true}, (err) => {
if (!err) {
console.log("修改成功??!")
} else {
throw err
}
});
刪
// 4.4刪除
/*
Model.deleteMany()
Model.deleteOne()
Model.remove()
*/
personModel.remove({name: "錢(qián)森"}, (err) => { //刪除所有匹配
if (!err) {
console.log("刪除成功!!")
} else {
throw err
}
})
統(tǒng)計(jì)
//4.5統(tǒng)計(jì)文檔的個(gè)數(shù)
/*
Model.count()
*/
personModel.count({}, (err) => {
if (!err) {
console.log(count)
} else {
throw err
}
})