nodejs结合mongodb实现数据的增删改查

nodejs结合mongodb实现数据的增删改查

准备工作

D盘根目录下创建一个文件夹data,在data内部再创建一个文件夹db
进入到mongodb的bin目录,按住shift,点击鼠标的右键,打开命令行窗口,输入如下指令打开数据库连接池

mongod --dbpath d:\data\db
开始写代码

在写代码的文件夹中打开终端运行如下命令,会生成 node_modules 文件

npm i mongoose -S

创建db.js,用来连接数据库

const mongoose = require('mongoose');
const DB_URL = 'mongodb://localhost:27017/mymongo'; //mymongo数据库的名字
mongoose.connect(DB_URL, { useNewUrlParser: true });
mongoose.connection.on('connected', function(){
    console.log('数据库连接成功')
 });
mongoose.connection.on('disconnected', function(){
    console.log('数据库连接失败')
 });
mongoose.connection.on('err', function(){
    console.log('数据库连接异常')
 });

module.exports = mongoose; 

在终端执行 node db.js 会提示 数据库连接成功

创建user.js,用来设计用户的数据表,会在数据库中创建一个集合

const mongoose = require('./db.js');   //.js可以省略 
const Schema = mongoose.Schema;
// 确定集合的字段以及数据类型
const userSchema = new Schema({
  username: { type: String },
  password: { type: String },
  age: { type: Number }
})

module.exports = mongoose.model('User', userSchema);// 生成一个数据库集合users

新建 insert.js 测试添加功能

const User = require('./user');
User.insertMany([{
  username: '张三',
  password: '123',
  age: 20
}], (err) => {
  if (err) throw err;  //出现错误就抛出
  console.log('添加成功');
});

在终端执行 node insert.js 会提示 添加成功

新建 delete.js 测试删除功能

const User = require('./user');
User.deleteOne({
    username:'张三'
}, err => {
    if (err) throw err;
    console.log('删除成功')
})

在终端执行 node delete.js 会提示 删除成功

新建 update.js 测试修改功能

const User = require('./user');
User.updateOne({ username: '李四' },{ $set: { age: 18 } 
  }, err => {
  if (err) throw err;
  console.log('修改成功')
})

在终端执行 node update.js 会提示 修改成功

新建 find.js 测试查询功能

const User = require('./user');
User.find({}, {_id: 0, __v: 0}).exec((err, data) => {
 if (err) throw err;
 console.log(data);
 })

在终端执行 node find.js 会显示当前集合中的所有数据信息

注意:每一次执行终端都要关闭上次的连接ctrl + c

本章介绍的是最基础增删改查,有兴趣的朋友可以自行拓展

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值