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
        ...................
原文地址:https://www.cnblogs.com/thing/p/9370098.html