数据库
数据库是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。
数据库是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合,可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。
类型
关系数据库
关系型数据库,存储的格式可以直观地反映实体间的关系。关系型数据库和常见的表格比较相似,关系型数据库中表与表之间是有很多复杂的关联关系的。 常见的关系型数据库有 Mysql,SqlServer 等。在轻量或者小型的应用中,使用不同的关系型数据库对系统的性能影响不大,但是在构建大型应用时,则需要根据应用的业务需求和性能需求,选择合适的关系型数据库。
非关系型数据库
随着近些年技术方向的不断拓展,大量的非关系型数据库如 MongoDB、Redis、Memcache 出于简化数据库结构、避免冗余、影响性能的表连接、摒弃复杂分布式的目的被设计。 指的是分布式的、非关系型的、不保证遵循ACID原则的数据存储系统。
MongoDB
MongoDB是一个基于分布式文件存储 的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
ps: 具体的关于MongoDB如何安装、如何使用以及设计数据、表、字段等一系列操作请参考网上的教程。下面来说说MongoDB是如何与前台进行数据交互的。
数据交互
这里的数据交互是基于node.js所进行的
1)前期准备
2)访问、连接数据库,每对数据库进行操作都要访问连接它,所以封装成函数
const url = "mongodb://127.0.0.1:27017/数据库名字";
3)添加
4)单条数据删除和删除所有数据
5)修改
6)查询
// 查询
// 更新:db.student.find({})
// 条件查询:find({"name":"xx"})
// 分页:find().limit(5).skip(page * 5)
// params参数:
// collectionName
// json
// [分页条件:每页几条数据,页数]
// callback
7)静态伺服(所有的静态网页、css文件、js文件)做统一处理
8)调用接口(其他的跟添加差不多,改一下接口和参数就可以)
9)很重要的端口(随便写,只要没被占用就可以)
10)页面调用(使用ajax请求)
至此,MongoDB与前台数据交互过程就结束了