• 数据库概述及环境搭建


    为什么使用数据库

    1. 动态数据网站中的数据都是存储在数据库中的
    2. 数据库可以用来持久存储客户端通过表单收集的用户信息
    3. 数据库软件本身可以对数据进行高效的管理

     什么是数据库

    数据库即存储数据的仓库,可以将数据进行有序的分门别类的存储。它是独立于语言之外的软件,可以通过API去操作它。

    常见的数据库软件有:mysql、MongoDB、Oracle

     

    MongoDB数据库的下载与安装

    下载网址:https://www.mongodb.com/download-center/enterprise

    在下载并且安装完成还需要安装MongoDB可视化软件

    MongoDB可视化软件的下载地址:https://www.mongodb.com/download-center/compass

    安装完成可视化软件后点击connect按钮即可

     

    MongoDB可视化软件

    MongoDB可视化操作软件,是使用图形界面操作数据库的一种方式

     

     数据库概念:

     在一个数据库软件中可以包含多个数据库仓库,在每一个数据仓库中可以包含多个数据集合,每一个数据集合可以包含多条文档(具体的数据)。

    术语 解释说明
    database 数据库,mongoDB数据库中可以建立多个数据库
    collection 集合,一组数据的集合,可以理解为JavaScript中的数组
    document 文档,一条具体的数据,可以理解为JavaScript中的对象
    field 字段,文档中的属性名称,可以理解为JavaScript中的对象属性

    数据库的连接:

    初始化一个项目:

     

    需要使用node.js操作MongoDB数据库需要依赖node.js中的第三方包mongoose

    使用npm inatall mongoose命令下载

    如果数据库不能连接,可能是由于没有启动MongoDB

    解决办法:在管理员命令工具运行指令net start mongoDB 即可启动MongoDB,否则MongoDB将无法连接。

     使用mongoose提供的connect方法即可连接数据库:

    // 引入mongoose第三方模块 用来操作数据库
    const mongoose = require('mongoose');
    // 数据库连接
    mongoose.connect('mongodb://localhost/play')
        // 连接成功
        .then(() => console.log('数据库连接成功'))
        // 连接失败
        .catch(err => console.log(err, '数据库连接失败'));

    运行该脚本:

     若不想出现那么多的提示可以在根据提示在代码这里添加:

    mongoose.connect('mongodb://localhost/play', { useNewUrlParser: true})

    添加之后的结果:

     创建数据库

     在MongoDB中不需要显示的创建数据库,如果正在使用的数据库不存在,mongodb会自动的创建数据库

    创建集合

    创建集合分为两步,一是对集合设定规则,二是创建集合,创建mongoose.Schema构造函数的实例即可创建集合

    
    
    //设定集合规则

    const
    courseSchema=new mongoose.Schema({ name:String, author:String, isPublished:Boolean }); //创建集合并应用规则 const Course=mongoose.model('Course',courseSchema);

    创建文档

    创建文档实际上就是向集合中插入数据

    分为两步:

    1、创建集合实例。

    2、调用实例对象下的save方法将数据保存到数据库中。

    // 创建文档
    const course = new Course({
        name: 'node.js基础',
        author: '黑马讲师',
        isPublished: true
    });
    // 将文档插入到数据库中
    course.save();

    MongoDB数据库的结果:

  • 相关阅读:
    HTML5:超文本标记语言
    Redis持久化
    ACID VS BASE+CAP
    Redis
    NoSQL(Redis、Menchche、MongoDB)
    transient关键字
    Struts2声明式验证相关问题
    struts2国际化相关问题
    Struts2
    SSH整合的详细步骤
  • 原文地址:https://www.cnblogs.com/jiguiyan/p/12578623.html
Copyright © 2020-2023  润新知