数据库,是独立于语言之外的软件,通过API操作。
数据库软件有多种,MongoDB(JS语言),mysql,oracle(PHP语言)。
里面的数据是json对象格式。
1.MongoDB
安装(MacOS)
1.安装Homebrew
之后可以用它轻松装软件
终端输入
/usr/bin/ruby -e "$(curl -fsSL https://gitee.com/topfullstack/install/raw/cn/install)"
2.使用brew安装MongoDB
终端依次输入下面三个指令
brew tap mongodb/brew
brew install mongodb-community
brew services start mongodb-community
启动 停止 重启
//启动
brew services start mongodb-community
//停止
brew services stop mongodb-community
//重启
brew services restart mongodb-community
3.安装MongoDB Compass
可视化得操作数据库
安装打开软件后,会让填入数据库的地址
输入mongodb://localhost:27017
点击CONNECT
相关概念
一个网站有多个网站应用,所以一个数据库有多个database(库)
一个网站应用有多种类数据,比如用户信息、商品信息,所以之下有collection(类)
一类数据小有多条数据,所以之下有document(条)
一条数据下有多种属性,所以之下有field(属性)
2.Mongoose第三方模块
连接数据库
在Node.js文件中,需要使用第三方模块:mongoose,它下面的connect方法可以连接数据库。
终端操作:
cd database
设定位置到database文件夹
js文件
// 引入mongoose第三方模块 用来操作数据库
增删改查
所有的数据操作都是异步API
创建一条数据
因为数据总得有个归类,所以需要提前设置好这个类的格式、名称
const
创建一条数据第二种方法
create方法就是向集合中插入文档
写法一
将现成的数据导入到数据库中
命令行:
mongoimport -d 库名称 -c 类名称 --file 要导入的json数据文件
mongoimport -d playground -c users --file /Users/liuxu/Desktop/12-18 database/user.json
查询数据 删除数据 修改数据
const
验证
设定限制条件,决定让不让数据上传
const
数据关联
两个类:文章、作者;要做到显示文章数据时也显示作者数据。
const
3.模板引擎
终端安装
npm install art-template
优化字符串拼接
基本代码
JS文件
// 引入art-template
index.art文件
<!-- 标签中写明属性就行 -->
模板语法
标准语法
{{ name }}
原始语法
<%= name %>
内部可以读取变量值,可以计算,可以判断
{{value}}
{{a + b}}
{{a ? b : c}}
<%= value %>
<%= a ? b : c %>
<%= a + b %>
若里面内容写标签,并且需要它识别出来
{{@ <div></div> }}
<%- <div></div> %>
判断
根据条件来决定显示那块HTML代码,比如:选中样式和未选中样式的选择性表达
{{if ……}}
……
{{/if}}
{{if age > 18}}
年龄大于18
{{else if age < 15 }}
年龄小于15
{{else}}
年龄不符合要求
{{/if}}
<% if (……) { %>
……
<% } %>
<% if (age > 18) { %>
年龄大于18
<% } else if (age < 15) { %>
年龄小于15
<% } else { %>
年龄不符合要求
<% } %>
循环
比如:把信息放入列表中,即ul里生成li并放入数据
JS文件
const
art文件
<ul>
{{each users}}
<li>
{{$value.name}}
{{$value.age}}
{{$value.sex}}
</li>
{{/each}}
</ul>
<ul>
<% for (var i = 0; i < users.length; i++) { %>
<li>
<%=users[i].name %>
<%=users[i].age %>
<%=users[i].sex %>
</li>
<% } %>
</ul>
子模板
可以将网站公共区域抽离到单独的文件中
JS文件
const
art文件
<
同级文件夹下存有footer.art header.art
模板继承
讲的是两个art文件之间的合作,b是框架,里面有坑,a用自己独有的代码来填坑
JS文件
const
05.art文件
<
common文件夹下的layout.art文件
<!DOCTYPE html>
模板配置
- 将方法当做变量导入模板,模板就能使用这个方法了
- 得到的是方法执行后的结果
以使用更改当前时间格式方法为例
终端下载
npm install dateformat
js文件
const
06.art
{{ dateFormat(time, 'yyyy-mm-dd')}}
改进js文件
设置模板根目录,就不用多次调用拼接地址了
设置默认后缀,直接写名字就行,写06就会去寻找06.html
const