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

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
简介: mongoose连接mongodb进行数据库操作详细步骤

1.安装mongoose

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

2.导入mongoose

const mongoose=require('mongoose')

3.连接数据库

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

进一步做连接处理

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

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
});

创建model(模型):

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

创建实例:

const studentsInstance = new studentsModel();

5.数据的增删改查:

增加数据:

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

删除数据:

//删除数据
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;
    }
});

修改数据:

//修改数据
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;
    }
});

查找数据:

//查找数据
studentsModel.find({ age: 50 }, (err, result) => {
    if (!err) { //查找成功
        console.log('data find success');
        console.log(result);
    } else {
        throw err;
    }
});
目录
相关文章
|
2月前
|
NoSQL Ubuntu MongoDB
在Ubuntu 22.04上安装MongoDB 6.0的步骤
这些步骤应该可以在Ubuntu 22.04系统上安装MongoDB 6.0。安装过程中,如果遇到任何问题,可以查阅MongoDB的官方文档或者Ubuntu的相关帮助文档,这些资源通常提供了解决特定问题的详细指导。
267 18
|
5月前
|
NoSQL MongoDB 数据库
数据库数据恢复—MongoDB数据库数据恢复案例
MongoDB数据库数据恢复环境: 一台操作系统为Windows Server的虚拟机上部署MongoDB数据库。 MongoDB数据库故障: 工作人员在MongoDB服务仍然开启的情况下将MongoDB数据库文件拷贝到其他分区,数据复制完成后将MongoDB数据库原先所在的分区进行了格式化操作。 结果发现拷贝过去的数据无法使用。管理员又将数据拷贝回原始分区,MongoDB服务仍然无法使用,报错“Windows无法启动MongoDB服务(位于 本地计算机 上)错误1067:进程意外终止。”
|
5月前
|
缓存 NoSQL Linux
在CentOS 7系统中彻底移除MongoDB数据库的步骤
以上步骤完成后,MongoDB应该会从您的CentOS 7系统中被彻底移除。在执行上述操作前,请确保已经备份好所有重要数据以防丢失。这些步骤操作需要一些基本的Linux系统管理知识,若您对某一步骤不是非常清楚,请先进行必要的学习或咨询专业人士。在执行系统级操作时,推荐在实施前创建系统快照或备份,以便在出现问题时能够恢复到原先的状态。
428 79
|
3月前
|
SQL Java 关系型数据库
Java连接MySQL数据库环境设置指南
请注意,在实际部署时应该避免将敏感信息(如用户名和密码)硬编码在源码文件里面;应该使用配置文件或者环境变量等更为安全可靠地方式管理这些信息。此外,在处理大量数据时考虑使用PreparedStatement而不是Statement可以提高性能并防止SQL注入攻击;同时也要注意正确处理异常情况,并且确保所有打开过得资源都被正确关闭释放掉以防止内存泄漏等问题发生。
127 13
|
3月前
|
SQL 关系型数据库 MySQL
MySQL数据库连接过多(Too many connections)错误处理策略
综上所述,“Too many connections”错误处理策略涉及从具体参数配置到代码层面再到系统与架构设计全方位考量与改进。每项措施都需根据具体环境进行定制化调整,并且在执行任何变更前建议先行测试评估可能带来影响。
1024 11
|
5月前
|
存储 NoSQL MongoDB
MongoDB数据库详解-针对大型分布式项目采用的原因以及基础原理和发展-卓伊凡|贝贝|莉莉
MongoDB数据库详解-针对大型分布式项目采用的原因以及基础原理和发展-卓伊凡|贝贝|莉莉
274 8
MongoDB数据库详解-针对大型分布式项目采用的原因以及基础原理和发展-卓伊凡|贝贝|莉莉
|
4月前
|
运维 NoSQL 容灾
告别运维噩梦:手把手教你将自建 MongoDB 平滑迁移至云数据库
程序员为何逃离自建MongoDB?扩容困难、运维复杂、高可用性差成痛点。阿里云MongoDB提供分钟级扩容、自动诊断与高可用保障,助力企业高效运维、降本增效,实现数据库“无感运维”。
|
5月前
|
SQL XML Java
配置Spring框架以连接SQL Server数据库
最后,需要集成Spring配置到应用中,这通常在 `main`方法或者Spring Boot的应用配置类中通过加载XML配置或使用注解来实现。
446 0

热门文章

最新文章

推荐镜像

更多