MLuminary/HMall

mongoDB 相关问题

Opened this issue · 0 comments

添加购物车中 mongoose 添加属性的问题

本项目中如下代码在开始时没有生效

gDoc.checked = 1;
gDoc.productNum = 1;
uDoc.cartList.push(gDoc);

原因就是,如果想要向 gDoc 中添加属性,其 Schema 必须要定义此属性

var productSchema = new Schema({
  "productId":String,
  "productName":String,
  "salePrice":Number,
  "productImage":String,
  //添加如下两行代码
  "checked": Number,
  "productNum": Number
})

mongoose 更新对象或数组中某行

查找条件 userId 等于 userId, cartList.productId 等于 productId 的内容,并将查找到内容的 cartList 下的 productNum 修改为 productNumchecked 修改为 checked

User.update({"userId":userId, "cartList.productId":productId},{
  "cartList.$.productNum": productNum,"cartList.$.checked": checked
},function(err, doc){..})

分页查询

//分页查询
let page = parseInt(req.param("page"));//页数
let pageSize = parseInt(req.param("pageSize"));//一页有多少个内容
let sort = req.param("sort");//正序(1)或升序(-1)
let skip = (page-1) * pageSize;//跳过文档的个数
let params = {};//需要查询的条件
let goodsModel = Goods.find(params).skip(skip).limit(pageSize);
goodsModel.sort({'salePrice':sort});
goodsModel.exec({},function(err,doc){...});

以上就是根据 salePrice 实现正序分页查询