一、nodejs
中使用mongodb
-
2、安装包
npm i mongoose --save
二、mongoose
使用的基本步骤
-
1、安装包
-
2、连接数据库
const mongoose = require('mongoose'); // 连接到数据库 mongoose.connect('mongodb://localhost/nest_cms'); // 如果有用户名与密码的连接方式 // mongoose.connect('mongodb://用户名:密码@地址:端口号/数据库'); // mongoose.connect('mongodb://root:123456@localhost/nest_cms');
-
3、定义
schema
// 使用命令查看数据库中的表 show collections 或者定义新的 const OrderSchema = mongoose.Schema({ order_id: String, uid: Number, trade_no: String, all_price: Number, all_num: Number, })
-
4、创建数据模型
mongoose.model
里面可以传入两个参数也可以传入三个参数。不过建议使用三个参数,集合名字可能与模型名字不一致的时候- 两个参数
mongoose.model(参数 1:模型名称(首字母大写),参数 2:Schema)
第三个参数会摩根根据第一个参数的小写字母来的 - 三个参数
mongoose.model(参数 1:模型名称(首字母大写),参数 2:Schema, 参数 3:数据库集合名称)
const Order = mongoose.model('Order', OrderSchema, 'order');
- 两个参数
-
5、进行增删改查一系列操作
// 实例化数据模型,创建数据的时候需要save const order1 = new Order({ order_id: '2', uid: 5, trade_no: '333', all_price: 20, all_num: 4, }) order1.save() // 查询数据 Order.find({}, (err, docs) => { if (err) { console.log('查询错误'); } console.log(JSON.stringify(docs)); })
三、基本的增、删、改、查操作
-
1、增加数据
增加的数据必须使用实例化对象,然后调用
save()
函数const order1 = new Order({ order_id: '2', uid: 5, trade_no: '333', all_price: 20, all_num: 4, }) order1.save()
-
2、删除数据
// 删除数据 Order.deleteOne({_id: '5e0fd41ca53860217c5831bd'}, (err) => { if (err) { console.log('删除失败'); } console.log('删除成功'); })
-
3、修改数据
// 修改数据 Order.updateOne({_id: '5e0fd4bb08ad70786fd8ac84', all_num: 2}, {all_num: 5}, (err, res) => { if (err) { console.log('修改数据错误') } // { n: 1, nModified: 1, ok: 1 } console.log(res); });
-
4、查询数据
Order.find({}, (err, docs) => { if (err) { console.log('查询错误', err) } console.log(JSON.stringify(docs)); })
四、mongoose
模块化及封装单独的链接
-
1、另外一种
mongoose
的连接方式// 第一步 const mongoose = require('mongoose'); // 第二步连接数据库 mongoose.connect('mongodb://root:123456@localhost/nest_cms', { useNewUrlParser: true }, (err) => { if (err) { console.log('连接错误'); return; } console.log('mongodb连接成功'); });
-
2、单独将连接封装成一个模块(别的地方引用都是单利模式,只会连接一次)
// 第一步 const mongoose = require('mongoose'); // 第二步连接数据库 mongoose.connect('mongodb://root:123456@localhost/nest_cms', { useNewUrlParser: true }, (err) => { if (err) { console.log('连接错误'); return } console.log('mongodb连接成功'); }); module.exports = mongoose;