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部分

猜你喜欢

转载自blog.csdn.net/qq_39055970/article/details/122395134
今日推荐