2021-08-14

Posted jh_jing

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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的底层已经做了单例模式的处理,也就是说只会在第一次连接时比较耗时,后续的连接执行都会很快。

以上是关于2021-08-14的主要内容,如果未能解决你的问题,请参考以下文章

2021-08-14

2021-08-14

2021-08-14

2021-08-14

2021-08-14

GeneralUpdate 2021.08.14更新公告