• express常用代码片段


    请求模块:

    var express = require('express');
    var router = express.Router();  // 拿到express框架的路由
    var mongoose = require('mongoose');
    var Goods = require('../models/goods');

    创建Schema:

    // 定义一个Schema
    var orderSchema = new Schema({
        'orderId':String,   
        'orderState':{type:Number,default:1}, 
        'orderList':[          
            {
                "productImage":String,
                "productNum":Number,  
            }
        ]
    })

    router-get:

    router.get('/list', function(req, res, next) {
        let priceLevel = req.param("priceLevel");  
    })

    router-post:

    router.post("/commit",function(req, res, next){
        var userId=req.get("userId");  //获取header里的数据
        userName = req.body.userName; 
        describe = JSON.parse(req.body.describe);

    查找数据并||操作数组:

    User.findOne({
          userId:userId   // 查询条件
        },function(err,userDoc){
          if(err){
            res.json({
              status:"1",
              msg:err.message
            })
          }else{
            console.log("userDoc"+userDoc);  // 用户数据
            if(userDoc){
              let goodsItem = '';
              userDoc.cartList.forEach(function(item){    // 遍历用户购物车,判断加入购物车的商品是否已经存在
                if(item.productId == productId){
                  goodsItem = item;
                  item.productNum++; // 购物车这件商品数量+1
                }
              })

    创建新的文档实例:

    new oMessage({
            userName:userName
        }).save(function(err,doc){
            if(err){
                res.json({
                    status:"1",
                    msg:err.message
                })
            }else{
                res.json({
                    status:'0',
                    msg:'新增成功!!',
                    result:doc
                })
            }
        })

    获取文档集合:

    oMessage.find().exec(function(err,message){
            if(err){
                res.json({
                    status:1,
                    message:'message获取失败!'
                })
                return
            }
            res.json({
                status:0,
                messageList:message
            })
    
    });

      oGoods.find({'productId':proId},function(err, doc){ ............. })
     

    条件查询:

    oGoods.find({}).where(typeName).equals(typeVal).exec(function(err,goodsdoc){
            if(err) console.log(err)
            res.json({
                status:'0',
                msg:'分类查询成功',
                goodsList:goodsdoc
            })
     })

    修改文档-数组中的一个属性:

    ouser.update({// 查询条件
       "userId":updateUserId,
       "cartList.productId":productId
    },{
    // 修改的数据 "cartList.$.productNum":buynum
    },
    function(err,doc){ if(err){ res.json({ status:'1', }); }else{ res.json({ status:'0', }); } }); ..................

    给文档中的一个数组添加新元素:

    ouser.update(
    {userId:updateUserId}, { $push:{
    'cartList':productItem } },function(err, doc){ ...............

    删除文档中某个数组的某个元素:

    ouser.update(
    {userId:userId},
    {$pull:{"cartList":{productId:productId}}},
    function(err){.....
    .....

    清空文档中的某数组:

    ouser.findOne({userId:userId},function(err,userDoc){
            userDoc.cartList=[];
            userDoc.save(function (err,doc2) {
    .........

    https-get请求:

      var https = require("https");
    https.get(url, function (res) {
            var datas = [];
            var size = 0;
            res.on('data', function (data) {
                datas.push(data);
                size += data.length;
            });
            res.on("end", function () {
                var buff = Buffer.concat(datas, size);
                var result =JSON.parse(buff.toString());//转码//var result = buff.toString();//不需要转编码,直接tostring
                console.log(buff.toString());
                var openId=result.openid
            ...................
  • 相关阅读:
    Spring Boot WebFlux-02——WebFlux Web CRUD 实践
    Struts2
    spring04
    spring03
    spring02
    jQuery04
    spring01
    jQuery03
    Linux学习笔记《六》
    请求报错:“应以Content-Type: application/x-www-form-urlencoded为请求类型,在form表单中提交登录信息。"
  • 原文地址:https://www.cnblogs.com/thing/p/9370098.html
Copyright © 2020-2023  润新知