pug,mongodb命令(以後是node的案例,一個博客)

1.pug

  1. 一個簡單的pug文檔

至關於此html文檔 html

  1. koa-views模塊:模板引擎模塊,把pug註冊到koa上
    a). 新建app.js
    const 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()方法中,第一個參數表示文件的路徑;第二個參數表示匹配的模板引擎類型,此處爲pugjava

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中es6


2.mongodb數據庫

1.增刪改查命令
  1. 啓動服務端:mongod --dbpath "路徑" :指定數據庫數據位置

2. 啓動客戶端:mongo

3. 顯示數據庫: show dbs

4. 建立並進入子數據庫(有的話直接進入): use liangsheng

5. 添加數據:db.liangsheng.insert({name:"sjl"})

6. 刪庫:db.dropDatabase()

在liangsheng數據庫位置下:mongodb

  1. 建立集合名:db.createCollection("javaScript")
    第一個參數是集合名,第二個參數是大小(可不寫)
  2. 顯示庫內全部集合名:show collections

9. 刪除集合:db.javaScript.drop()

  1. 在集合裏存數據:db.user.insert({name:"sjl"})
    可存入多條相同的數據,id值會不一樣

  1. 查看集合裏全部文檔:db.user.find()

更新文檔:當修改的屬性在文檔中沒有時,會建立數據庫

  1. 修改第一條屬性:db.user.update({"name":"sjl"},{$set:{"name": "yl"}})

  1. 修改全部: db.user.update({"name":"sjl"},{$set:{"name": "yl"}},{multi:true})


3.鏈接數據庫
  1. 下載包:mongoose:鏈接mongo數據庫的包
    npm i mongoose -S
  2. 導入包:const mongoose = require("mongoose")
  3. 代碼:
// 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中
複製代碼

存數據:npm

//要插入集合的文檔/數據
const obj1 = {
    name : "bbb",
    age : 18,
    sex : "男"
};

//插入數據
const d1 = new User(obj1);
d1.save((err, data) => {
    console.log(data);
});
//save返回promise對象
複製代碼

刪除數據: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);
  });
複製代碼
相關文章
相關標籤/搜索