mongoose连接mongodb进行数据库操作详细步骤

纸飞机 发表于 2021/10/22 23:17:33 2021/10/22
【摘要】 1.安装mongoose npm i mongoose -S||npm install mongoose --save 1 2.导入mongoose const mongoose=require('...

1.安装mongoose

npm i mongoose -S||npm install mongoose --save

  
 
  • 1

2.导入mongoose

const mongoose=require('mongoose')

  
 
  • 1

3.连接数据库

//mongoose.connect('mongodb://主机名:端口/数据库名称')
举例:mongoose.connect('mongodb://127.0.0.1:27017/1901')

  
 
  • 1
  • 2

进一步做连接处理

mongoose.connect('mongodb://127.0.0.1:27017/1901',(err)=>{
   if(!err){//连接成功了
      console.log('database connect success');
   }else{
      throw err;
   }
})

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

4.存储数据步骤:定义Schema (骨架) > 创建model(模型)> Entity实例化方法。

定义Schema(骨架):

//定义schema
// const teacherSchema = new Schema(options)
/* 
  options
  {
    key:key的数据类型
  }
*/
举例:
const Schema = mongoose.Schema;
const studentsSchema = new Schema({
   name: String,
   age: Number,
   sex: String
});

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

创建model(模型):

//创建模型
// const teacherModel = mongoose.model(集合名称,teacherSchema)
举例:
const studentsModel = mongoose.model('students', studentsSchema);

  
 
  • 1
  • 2
  • 3
  • 4

创建实例:

const studentsInstance = new studentsModel();

  
 
  • 1

5.数据的增删改查:

增加数据:

//数据的存储
studentsInstance.name = 'ksjjsj';
studentsInstance.age = 50;
studentsInstance.sex = 'man';
studentsInstance.save((err) => {
    if (!err) { //存储成功
        console.log('data save success')
    } else {
        throw err
    }
});

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

删除数据:

//删除数据
studentsModel.find({ age: 50 }, (err, result) => {
    if (!err) { //查找成功
        const id = result[0]._id;
        studentsModel.findById(id, (err, docs) => {
            if (!err) { //删除成功
                docs.remove(() => {
                    console.log('data delete success');
                })
            }
        })
    } else {
        throw err;
    }
});

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

修改数据:

//修改数据
studentsModel.find({ name: 'lcj' }, (err, res) => {
    if (!err) { //查找成功
        const id = res[0]._id;
        studentsModel.findById(id, (err, docs) => {
            docs.age = 18,
                docs.save((err) => {
                    if (!err) {
                        console.log('data update success')
                    } else {
                        throw err
                    }
                })
        })
    } else {
        throw err;
    }
});

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

查找数据:

//查找数据
studentsModel.find({ age: 50 }, (err, result) => {
    if (!err) { //查找成功
        console.log('data find success');
        console.log(result);
    } else {
        throw err;
    }
});

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

文章来源: root181.blog.csdn.net,作者:前端纸飞机,版权归原作者所有,如需转载,请联系作者。

原文链接:root181.blog.csdn.net/article/details/120904822

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。