mongoose学习练习

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;
    }
});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值