产品页面聚合方法

前端之家收集整理的这篇文章主要介绍了产品页面聚合方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我们有很多的产品,sku spu

一个spu下面有很多sku

我们的sku 是以颜色和尺码,这个一般涉及到服装


1.先按照分类id where 先按照一个字段(加入一个字段,这个字段是spu相同的各个产品用来获取显示优先级的,这个优先值最高的,会显示分类中。)排序。

2.1我们按照spu进行聚合,得到列表值,得到总数

2.2我们按照spu进行聚合,然后按照销量,或者价格,或者名字进行排序,然后limit+skip 得到相应的数据

3.侧栏的按照 color size 等等其他的进行聚合得到各个个数


如果用户选择了颜色:

1.按照分类id,颜色进行where,然后按照字段排序

2. 1按照spu聚合,然后在聚合得到总数

2.2我们按照spu进行聚合,然后按照销量,或者价格,或者名字进行排序,然后limit+skip 得到相应的数据

3.侧栏的按照 color size 等等其他的进行聚合得到各个个数


mongodb实现:

得到总数:

db.erp_product_flat.aggregate( [
{$match: {"on_shelf_date_day":{"$gt":"2016-04-01"}}},{$group: { _id: "$spu",spu:{$first:"$spu"},sku:{$first:"$sku"},on_shelf_date_day:{$first:"$on_shelf_date_day"}} },{$group:{_id:null,total:{$sum:1}}},] );


得到产品列表:
db.erp_product_flat.aggregate( [
{$match: {"on_shelf_date_day":{"$gt":"2016-04-01"}}},{$sort:{spu:1,sku:1}},{$sort:{on_shelf_date_day:-1}}
] );

侧栏得到颜色的各个维度以及个数:
db.erp_product_flat.aggregate( [
{$match: {"on_shelf_date_day":{"$gt":"2016-04-01"}}},{$group: { _id: "$color",count:{$sum:1}} },] );


二:

分类要有一个字段,标示在分类页面侧栏过滤,有哪些字段要过滤。0

原文链接:https://www.f2er.com/javaschema/283753.html

猜你在找的设计模式相关文章