2021-08-14
Posted jh_jing
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021-08-14相关的知识,希望对你有一定的参考价值。
Mongoose的模块化
目录
1.建立一个model文件夹,其中建一个db.js连接数据库 进行包装导出
2.在model文件中建立需要的表 ,例:news ,user
运用了模块化,使用不同的模块,对相应的操作进行包装,操作起来非常简单,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的主要内容,如果未能解决你的问题,请参考以下文章