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;
    }
});
相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
11天前
|
存储 NoSQL 关系型数据库
非关系型数据库-MongoDB技术(二)
非关系型数据库-MongoDB技术(二)
|
11天前
|
NoSQL 关系型数据库 MongoDB
非关系型数据库-MongoDB技术(一)
非关系型数据库-MongoDB技术(一)
|
4天前
|
存储 NoSQL 前端开发
前端轻量级数据库mongodb
【10月更文挑战第2天】MongoDB 是一个基于分布式文件存储的开源数据库系统,不属于前端轻量级数据库,而是后端数据库。它使用 BSON 格式存储数据,支持复杂的数据结构,适用于内容管理系统、物联网等领域。MongoDB 通过动态模式和面向对象的数据存储方式,提供了灵活的数据模型。在 Web 应用中,它通常作为后端存储,通过 API 与前端交互,实现高效的数据管理和实时更新。
|
8天前
|
关系型数据库 MySQL 数据库
6-2|测试连接数据库的命令
6-2|测试连接数据库的命令
|
9天前
|
SQL 关系型数据库 MySQL
ThinkPHP6 连接使用数据库,增删改查,find,select,save,insert,insertAll,insertGetId,delete,update方法的用法
本文介绍了在ThinkPHP6框架中如何连接和使用数据库进行增删改查操作。内容包括配置数据库连接信息、使用Db类进行原生MySQL查询、find方法查询单个数据、select方法查询数据集、save方法添加数据、insertAll方法批量添加数据、insertGetId方法添加数据并返回自增主键、delete方法删除数据和update方法更新数据。此外,还说明了如何通过数据库配置文件进行数据库连接信息的配置,并强调了在使用Db类时需要先将其引入。
ThinkPHP6 连接使用数据库,增删改查,find,select,save,insert,insertAll,insertGetId,delete,update方法的用法
|
9天前
|
SQL 关系型数据库 数据库连接
php连接数据库之PDO,PDO的简单使用和预定义占位符的使用以及PDOStatement对象的使用,占位符的不同形式,bindValue和bindParam绑定预定义占位符参数的区别
本文介绍了PHP中PDO(PHP Data Objects)扩展的基本概念和使用方法。内容包括PDO类和PDOStatement类的介绍,PDO的简单使用,预定义占位符的使用方法,以及PDOStatement对象的使用。文章还讨论了绑定预定义占位符参数的不同形式,即bindValue和bindParam的区别。通过具体示例,展示了如何使用PDO进行数据库连接、数据查询、数据插入等操作。
php连接数据库之PDO,PDO的简单使用和预定义占位符的使用以及PDOStatement对象的使用,占位符的不同形式,bindValue和bindParam绑定预定义占位符参数的区别
|
9天前
|
SQL 关系型数据库 MySQL
php学习笔记-连接操作mysq数据库(基础)-day08
本文介绍了PHP中连接操作MySQL数据库的常用函数,包括连接服务器、设置字符集、关闭连接、选择数据库、结果集释放、获取影响行数以及遍历结果集等操作。通过书籍查询的实例演示了如何使用这些函数进行数据库操作,并提供了一个PHP操纵MySQL数据库的模板。
php学习笔记-连接操作mysq数据库(基础)-day08
|
10天前
|
存储 NoSQL MongoDB
01 MongoDB的概述、应用场景、下载方式、连接方式和发展历史等
文章详细介绍了MongoDB的概览、应用场景、下载与连接方式,并涵盖了MongoDB的主要特性及其在数据存储方面的优势。
13 0
|
2月前
|
运维 监控 NoSQL
【MongoDB 复制集秘籍】Secondary 同步慢怎么办?深度解析与实战指南,让你的数据库飞速同步!
【8月更文挑战第24天】本文通过一个具体案例探讨了MongoDB复制集中Secondary成员同步缓慢的问题。现象表现为数据延迟增加,影响业务运行。经分析,可能的原因包括硬件资源不足、网络状况不佳、复制日志错误等。解决策略涵盖优化硬件(如增加内存、升级CPU)、调整网络配置以减少延迟以及优化MongoDB配置(例如调整`oplogSize`、启用压缩)。通过这些方法可有效提升同步效率,保证系统的稳定性和性能。
48 4
|
2月前
|
监控 NoSQL MongoDB
MongoDB数据库的索引管理技巧
【8月更文挑战第20天】MongoDB数据库的索引管理技巧
49 1
下一篇
无影云桌面