请求模块:
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 ...................