数据库timestamp的长度设置为零 数据库中时间的长度_数据


数据库,是独立于语言之外的软件,通过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

可视化得操作数据库

安装打开软件后,会让填入数据库的地址


数据库timestamp的长度设置为零 数据库中时间的长度_数据库timestamp的长度设置为零_02


输入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


数据库timestamp的长度设置为零 数据库中时间的长度_mongodb_03


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