validate   验证   正则表达式

 

 mongodb文件:

// 引用mongoose
const mongoose=require("mongoose");
// 协议
mongoose.connect("mongodb://127.0.0.1:27017/test");
// 创建模型
const tagschema =new mongoose.Schema({
    // Text:String,
   text:{
    type:String,
    minlength:2,
    maxlength:12
   }
})
const conscheam =new mongoose.Schema({
   title:{
    type:String,
    minlength:6,
    maxlength:12
   },
   content:{
    type:String,
    minlength:10,
    maxlength:50
   },
   top:{
       type:Boolean,
       default:false
    //    default/默认值
   }
})
const userscheam =new mongoose.Schema({
    // 用户名========================
    username:{
        type:String,
        minlength:2,
        maxlength:[12,"用户名最多12个字符"]
    },
// 密码====================================
userpaw:{
    type:String,
    // 验证
    validate: {
        // 自定义检验器
        validator: function(v) {
          return /[a-zA-Z0-9_]{6,12}/.test(v);
        },
        // 错误信息
        message:"密码为6-12位数字、字母和下划线的任意组合"
    }
},
// 邮箱=====================================
usereaml:{
    type:String,
    validate: {
        // 自定义检验器
        validator: function(v) {
            return /\w{7,10}@qq\.com/.test(v);
        },
        // 错误信息
        message:"邮箱格式不正确"
    }
},

// 数组======================================
    useryh:{
        type:String,
        enum:{
            // enum  枚举  只允许这几个值
            values:['新手上路','注册会员','中级会员','高级会员'],       //
            message:'{vALUE} is not supported'      //错误信息
        }
    }
 })
const tagmodel =new mongoose.model("tag",tagschema);
const conmodel =new mongoose.model("content",conscheam);
const usermodel =new mongoose.model("user",userscheam);
// tagmodel

// 导出
module.exports={tagmodel,conmodel,usermodel};

http文件:

@url=http://localhost:3000
@json=Content-Type: application/json
### =============================================tag
###查询
GET {{url}}/tag
###添加
POST {{url}}/tag
Content-Type: application/json
# content
# id=1000&name=张三
 
{
    "text":"李四"
}
###删除
DELETE {{url}}/tag HTTP/1.1
{{json}}

{ 
    "_id":"61a5c11b22beea0274420145" 
}
###======================================================content
###查询
GET {{url}}/content
###添加
POST {{url}}/content
{{json}}

{
"title":"taoshilin",
"content":"dadadaddadada",
"top":false
}
    

###删除
DELETE {{url}}/content HTTP/1.1
{{json}}

{ 
    "_id":"61a5d87aaf509f1bd50e4aab" 
}
###修改
PUT {{url}}/content?_id=61a885121883946b481f3029
{{json}}

{
    "top":true
}


###======================================================user
###查询
GET http://localhost:3000/user
###添加
POST http://localhost:3000/user
Content-Type: application/json 

{
"username":"123ada",
"userpaw":"asdasdasdas",
"usereaml":"123456a@qq.com",
"useryh":"注册会员"
}
    

###删除
DELETE http://localhost:3000/user HTTP/1.1
Content-Type: application/json

{ 
    "_id":"61a8805aa8b61d4c4649c429" 
}
###
@url=http://localhost:3000   简写
简写效果:POST {{url}}/content         //POST http://localhost:3000/content
@json=Content-Type: application/json   简写




修改:updateOne
 修改
router.put("/user",async ctx=>{
    try{
        const data=await usermodel.updateOne(ctx.query,ctx.request.body);
        return success(ctx,data);
    }catch(error){
        return fail(ctx,error)
    }
})
==============================================================================
错误信息提示:
module.exports={
    success:function (ctx,data= null){
        ctx.body={
            status:200,
            data:data,
            mag:""
        } 
     },
     fail:function(ctx, msg){
        ctx.body={
            status:0,
            data:null,
            mag:msg.message||msg
        } 
     }
    
}

 nodjs学习视频网站:https://space.bilibili.com/475744917?from=search&seid=10672327690844206998&spm_id_from=333.337.0.0 

谢灿软件

 posted on 2021-12-02 16:49  陶小黑  阅读(45)  评论(0)    收藏  举报