一、nodejs
中使用mongodb
- 1、
mongoosejs
文档 - 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;