产品页面聚合方法
发布时间:2020-12-14 02:11:24 所属栏目:百科 来源:网络整理
导读:我们有很多的产品,sku spu 一个spu下面有很多sku 我们的sku 是以颜色和尺码,这个一般涉及到服装 1.先按照分类id where 先按照一个字段(加入一个字段,这个字段是spu相同的各个产品用来获取显示优先级的,这个优先值最高的,会显示在分类中。)排序。 2.1
我们有很多的产品,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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |