1.第一步安装
node中输入: npm i mongoose --save
基础设置
//1.引入模块
let mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/mongoose', {useNewUrlParser: true});
//2.监听状态
let db = mongoose.connection;
// on指单次once多次(和jquery中的one差不多好像)
//监听数据库连接错误
db.on('error',()=>{
console.log('数据库连接错误');
});
//监听数据库连接成功
db.once('open',()=>{
console.log('数据库连接成功');
});
//监听数据库连接关闭
db.once('close',()=>{
console.log('数据库连接关闭');
});
//3.插入数据
//创建Schema;
let Schema = mongoose.Schema;
let PersonSchema = new Schema({
name: String,
age : Number,
weChat : String,
sex : {
type: String,
default: '男'
}
});
//创建model
let personModel = mongoose.model('person',PersonSchema);
//插入
// personModel.create({
// name:'刘帅',
// age : 18,
// weChat: 'cjdds',
// });
personModel.create({
name:'周杰伦2',
age : 40,
weChat: 'wszjl2',
},(err)=>{
if(!err){
console.log(`插入成功${this.name}`);
}else {
throw err
}
});
增删改查
let mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/mongooseCRUD', {useNewUrlParser: true});
let db = mongoose.connection;
db.on('open', () => {
console.log('连接成功');
});
let Schema = mongoose.Schema;
let PersonSchema = new Schema({
name: String,
age: Number,
sex: {
type: String,
default: '男'
}
});
let PersonModel = mongoose.model('person', PersonSchema);
//1.增加
/*
PersonModel.create([
{name: '刘帅', age: 18},
{name: '周杰伦', age: 20},
{name: '阿黛尔', age: 20, sex: '女'},
], (err) => {
if(!err){
console.log('插入成功');
}
});
*/
//2.查
//2.1查找所有
/*
PersonModel.find({},(err,docs)=>{
if(!err){
console.log(docs);
}else {
throw err;
}
});
*/
//2.2按条件查找
/*
PersonModel.find({age:20},(err,docs)=>{
if(!err){
console.log(docs);
}else {
throw err
}
});
*/
//2.3按条件查找
//只显示部分信息如:只显示name、age(0不为显示,1会报错- -,)
PersonModel.find({age: 20}, {_id: 0, __v: 0, sex: 0}, (err, docs) => {
if (!err) {
console.log(docs);
} else {
throw err;
}
});
//改(不合适)
// findOne是关键 不能使用find
// mongooseModel.findOne({age:28},(err,doc)=>{
// if(!err){
// doc.update({$set: {age: 999}},(err)=>{
// if(!err){
// console.log('修改成功');
// console.log(doc);
// }else {
// throw err;
// }
// });
//
//
// }else {
// throw err;
// }
// });
//修改
mongooseModel.updateMany({age:10}, {$set: {age: 999}}, (err)=> {
if (!err) {
console.log('修改成功!');
} else {
throw err;
}
});
//删除
mongooseModel.deleteMany({},(err)=>{
if(!err){
console.log('删除成功');
}else {
throw err;
}
});