2021-08-14

Mongoose的模块化

目录

Mongoose的模块化

1.建立一个model文件夹,其中建一个db.js连接数据库 进行包装导出   

 2.在model文件中建立需要的表 ,例:news ,user

3.进行增差改除4项操作   


 运用了模块化,使用不同的模块,对相应的操作进行包装,操作起来非常简单,2

1.建立一个model文件夹,其中建一个db.js连接数据库 进行包装导出   

连接参数说明:

第一个参数为数据库的地址,如果设置了密码的话,记得加上用户名和密码,格式如下:

mongodb://localhost/text,fn

第二个参数 useNewUrlParser 属性会在url里识别验证用户所需的数据库

第三个参数 为回调函数用来确认数据库是否连接成功。

  


var mongoose = require('mongoose');
mongoose.connect('mongodb://127.0.0.1:27017/test', { useNewUrlParser: true }, function (err) {
    if (err) {
        console.log(err);
        return;
    }
    console.log('数据库连接成功')
});
 
module.exports = mongoose


在这我用的是news表 引入db.js 将一切news表需要的内容包装起来 

var mongoose = require('./db')

var NewSchema = mongoose.Schema({
    'name': String,

    "staus": { type: Number, default: 1 },
})
var NewModel = mongoose.model('NewModel', NewSchema, 'news');
module.exports = NewModel

3.进行增差改除4项操作   

1) 新增数据


NewModel.insertMany({ "name": 'jing' }, function(err, res) {
    if (err) {
        console.log(err)
    }
    console.log(res)
});

2) 修改数据

NewModel.updateMany({ "name": 'jing' }, { 'staus': 3 }, function(err, res) {
    if (err) {
        console.log(err)
    }
    console.log(res)
});

 3) 查找所有数据,想如果想查找相应数据在find中添加josn语句就可以 ,可以加where条件限制

NewModel.find({}, function(err, res) {
    if (err) {
        console.log(err)
    }
    console.log(res)
});

  4)删除数据

NewModel.remove({ "name": 'jing' }, function(err, res) {
    if (err) {
        console.log(err)
    }
    console.log(res)
});

大家可能发现在定义schema时,引入了db.js文件,即连接了一次数据库,那么调用多个schema时,是否会多次连接数据库了,其实在mongoose的底层已经做了单例模式的处理,也就是说只会在第一次连接时比较耗时,后续的连接执行都会很快。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值