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
相关文章
|
5天前
|
存储 NoSQL Shell
MongoDB 创建数据库
10月更文挑战第12天
26 4
|
4天前
|
存储 NoSQL MongoDB
基于阿里云数据库MongoDB版,微财数科“又快又稳”服务超7000万客户
选择MongoDB主要基于其灵活的数据模型、高性能、高可用性、可扩展性、安全性和强大的分析能力。
|
5天前
|
NoSQL 网络安全 MongoDB
MongoDB - 连接
10月更文挑战第12天
6 1
|
9天前
|
Java 关系型数据库 MySQL
springboot学习五:springboot整合Mybatis 连接 mysql数据库
这篇文章是关于如何使用Spring Boot整合MyBatis来连接MySQL数据库,并进行基本的增删改查操作的教程。
14 0
springboot学习五:springboot整合Mybatis 连接 mysql数据库
|
2天前
|
存储 NoSQL MongoDB
mongodb的数据库表怎么创建
在此过程中,理解并掌握这些基本操作,是深入探索MongoDB魅力,乃至构建高效数据解决方案的关键所在。通过实践,您将更加深刻地体会到这种随需应变的数据管理模式带来的便利与效率提升。
7 0
|
4天前
|
存储 NoSQL MongoDB
小川科技携手阿里云数据库MongoDB:数据赋能企业构建年轻娱乐生态
基于MongoDB灵活模式的特性,小川实现了功能的快速迭代和上线,而数据库侧无需任何更改
|
4天前
|
运维 NoSQL BI
简道云搭载阿里云MongoDB数据库,帮助数以万计企业重构业务系统
通过与MongoDB和阿里云团队的合作,让简道云少走了弯路,保障了线上服务的长期稳定运行,提高了吞吐效率,并相应降低了线上运行成本
|
5天前
|
SQL NoSQL MongoDB
一款基于分布式文件存储的数据库MongoDB的介绍及基本使用教程
一款基于分布式文件存储的数据库MongoDB的介绍及基本使用教程
18 0
|
8天前
|
NoSQL 前端开发 JavaScript
Node.js 连接 MongoDB
10月更文挑战第9天
23 0
|
1月前
|
存储 NoSQL 关系型数据库
非关系型数据库-MongoDB技术(二)
非关系型数据库-MongoDB技术(二)