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);
  });
复制代码
相关文章
相关标签/搜索