1.pug
- 一個簡單的pug文件
相當於此html文件
- koa-views模組:模板引擎模組,把pug註冊到koa上
a). 新建app.jsconst Koa = require("koa"); const views = require('koa-views'); //用來管理模板引擎 const {join} = require("path"); const koa = new Koa; //__dirname 當前所在檔案的目錄 koa.use(views(join(__dirname, 'views'), { extension : "pug" })); //用來處理路由請求的中介軟體 //render中兩個引數 第一個為路徑,第二個作為屬性傳到pug檔案中的變數上 koa.use( async (ctx) => { await ctx.render("index", { bool : 1 }); }).listen(3000, () => { console.log("開始監聽3000埠"); }); 複製程式碼
view()方法中,第一個參數列示檔案的路徑;第二個參數列示匹配的模板引擎型別,此處為pug
b). 新建index.pug
```
doctype html
html
head
meta(charset="UTF-8")
title sjl
body
div.box#wrap wrap內容
div(class = bool ? "sjl" : "yl") 簡單pug文件
```
複製程式碼
在app.js檔案中的bool的值,可以傳遞給index.pug中
2.mongodb資料庫
1.增刪改查命令
- 啟動服務端:mongod --dbpath "路徑" :指定資料庫資料位置
在liangsheng資料庫位置下:
- 建立集合名:db.createCollection("javaScript")
第一個引數是集合名,第二個引數是大小(可不寫) - 顯示庫內所有集合名:show collections
- 在集合裡存資料:db.user.insert({name:"sjl"})
可存入多條相同的資料,id值會不同
- 檢視集合裡所有文件:db.user.find()
更新文件:當修改的屬性在文件中沒有時,會建立
- 修改第一條屬性:db.user.update({"name":"sjl"},{$set:{"name": "yl"}})
- 修改所有: db.user.update({"name":"sjl"},{$set:{"name": "yl"}},{multi:true})
3.連線資料庫
- 下載包:mongoose:連線mongo資料庫的包
npm i mongoose -S
- 匯入包:
const mongoose = require("mongoose")
- 程式碼:
// mongoose 匯入包
const mongoose = require("mongoose");
//連線資料庫,返回一個例項
//第一個引數:資料庫路徑; 第二個引數:固定引數
const db = mongoose.createConnection(
"mongodb://localhost:27017/sjl",
{useNewUrlParser : true});
//用原生的es6的promise替換掉mongoose自定義的promise
mongoose.Promise = global.Promise;
//監聽是否連結成功
db.on("error", () => {
console.log("sjl資料庫連結失敗");
});
db.on("open", () => {
console.log("sjl資料庫連結成功");
});
// 規範資料的欄位,得到Schema類
const Schema = mongoose.Schema;
//得到Schema例項,用來規範資料型別或者欄位
//第一個引數:設定規範 ; 第二個引數:去掉版本號
const userSchema = new Schema({
name : String,
age : Number, //型別的建構函式
sex : String
},{
versionKey : false
});
//得到操控集合的物件 / 建立一個集合,返回一個建構函式
const User = db.model("user", userSchema, "user");
//注:model第三個參數列示插入集合的文件的集合,若不寫,系統會新建users並存入users中
複製程式碼
存資料:
//要插入集合的文件/資料
const obj1 = {
name : "bbb",
age : 18,
sex : "男"
};
//插入資料
const d1 = new User(obj1);
d1.save((err, data) => {
console.log(data);
});
//save返回promise物件
複製程式碼
刪除資料:
//刪除最先查詢的那條資料deleteOne
User.deleteOne({ name: "sjl" }, function (err) {
if (err) console.log(err);
});
//刪除所有查詢的那條資料deleteMany
User.deleteMany({ name: "sjl" }, function (err) {
if (err) console.log(err);
});
複製程式碼