nodejs项目实战教程14——nodejs连接MongoDB,实现增删改查

nodejs项目实战教程14——nodejs连接MongoDB,实现增删改查

1.nodejs连接mongodb

1)新建demo17文件夹,npm init -y生成package.json
2) cnpm install mongodb --save,下载mongdb依赖
3)创建app.js,在代码中引用mongdb,建立数据库连接:

// 1.cnpm install mongodb --save
// 2.引入mongodb
const { MongoClient } = require("mongodb");

// 3.定义数据库连接地址,admin是账号,123456是密码
// 如果没有账号密码,const url = 'mongodb://localhost:27017/'
const url = 'mongodb://admin:123456@localhost:27017/'

// 4.定义要操作的数据库
const dbName = 'sheldon'

// 5.实例化MongoClient传入数据库连接地址
const client = new MongoClient(url,{useUnifiedTopology:true})

// 6.连接数据库
client.connect((err)=>{
  if(err){
    console.log(err)
    return
  }
  console.log('连接成功')
  const db = client.db(dbName)
  // 操作数据库完毕后关闭数据库连接
  client.close()
})

在这里插入图片描述

2.实现增删改查

在这里插入图片描述
为了方便大家了解接下来的操作,先使用cmd查询数据库sheldon下集合student的记录。

2.1 查询操作

// 1.cnpm install mongodb --save
// 2.引入mongodb
const { MongoClient } = require('mongodb')

// 3.定义数据库连接地址,admin是账号,123456是密码
// 如果没有账号密码,const url = 'mongodb://localhost:27017/'
const url = 'mongodb://admin:123456@localhost:27017/'

// 4.定义要操作的数据库
const dbName = 'sheldon'

// 5.实例化MongoClient传入数据库连接地址
const client = new MongoClient(url, { useUnifiedTopology: true })

// 6.连接数据库
client.connect((err) => {
  if (err) {
    console.log(err)
    return
  }
  console.log('连接成功')
  const db = client.db(dbName)
  // 操作数据库完毕后关闭数据库连接
  // (1)查询
  db.collection('student')
    .find({})
    .toArray((err, data) => {
      console.log(data)
      client.close()
    })
})

在这里插入图片描述
注意,因为查询是异步操作,所以需要将client.close()放入到回调函数中。
如果需要进行条件查询,比如查询名字是lisi的学生,参考如下语句:

// (1)查询
  db.collection('student')
    .find({ name: 'lisi' })
    .toArray((err, data) => {
      console.log(data)
      client.close()
    })

2.2 增加

(1)增加一条记录
将查询语句注释,加入增加语句

// (2)增加
  db.collection('student').insertOne(
    { name: 'nodejs操作mongodb', age: '12' },
    (err, result) => {
      if (err) {
        console.log(err)
        return
      }
      console.log('增加成功')
      console.log(result)
      client.close()
    }
  )

在这里插入图片描述
在cmd中查看:
在这里插入图片描述

(2)增加多条记录

 let insertObj = [
    { name: 'nodejs操作mongodb', age: '15' },
    { name: 'zhaoyun', age: '16' },
    { name: 'zhangfei', age: '17' },
  ]
  db.collection('student').insertMany(insertObj, (err, result) => {
    if (err) {
      console.log(err)
      return
    }
    console.log('增加成功')
    console.log(result)
    client.close()
  })

在这里插入图片描述
在cmd中:
在这里插入图片描述

2.3 修改

(1)修改一条记录

// (3)修改
  db.collection('student').updateOne(
    { name: 'zhaoyun' },
    { $set: { age: 18 } },
    (err, result) => {
      if (err) {
        console.log(err)
        return
      }
      console.log('修改成功')
      console.log(result)
      client.close()
    }
  )

在这里插入图片描述
在cmd中:
在这里插入图片描述
(2)修改多条记录

db.collection('student').updateMany(
    { name: 'nodejs操作mongodb' },
    { $set: { age: 21 } },
    (err, result) => {
      if (err) {
        console.log(err)
        return
      }
      console.log('修改成功')
      console.log(result)
      client.close()
    }
  )

在这里插入图片描述
在这里插入图片描述

2.4 删除

(1)删除一条记录

db.collection('student').deleteOne({ name: 'zhaoyun' }, (err) => {
    if (err) {
      console.log(err)
      return
    }
    console.log('删除一条数据成功')
    client.close()
  })

在这里插入图片描述
在这里插入图片描述
(2)删除多条记录

 db.collection('student').deleteMany({ name: 'nodejs操作mongodb' }, (err) => {
    if (err) {
      console.log(err)
      return
    }
    console.log('删除多条数据成功')
    client.close()
  })

在这里插入图片描述
在这里插入图片描述

更多内容可以查看 菜鸟教程 Node.js MongoDB部分

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sheldon一蓑烟雨任平生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值