我有一个arangodb集合中的产品数据库,其中一个产品有多个尺寸。问题是,对于每个尺寸,相同的产品都是重复的。但每个产品都有一个共同的组号。如下所示:
{"name": "product1", "description": "someDescription", size: 5, groupNumber: 12}
{"name": "product1", "description": "someDescription", size: 15, groupNumber: 12}
{"name": "product1", "description": "someDescription", size: 25, groupNumber: 12}
{"name": "product1", "description": "someDescription", size: 35, groupNumber: 12}
{"name": "product2", "description": "someDescription", size: 5, groupNumber: 11}
{"name": "product2", "description": "someDescription", size: 15, groupNumber: 11}
{"name": "product2", "description": "someDescription", size: 25, groupNumber: 11}
{"name": "product2", "description": "someDescription", size: 35, groupNumber: 11}
我现在必须显示产品列表(在网页中),但每个产品应该只出现一次,每个产品的大小在一个数组中,如下所示:
product1 someDescription sizes: 5,15,25,35
product2 someDescription sizes: 5,15,25,35
...
每一页应该包含多达25个产品。我想知道如何使用arangodb做到这一点,这是在所有可能的?
1条答案
按热度按时间chhqkbe11#
关于第一个问题,对产品进行分组,这可以通过
COLLECT
来完成。。
通过示例数据,可以得出
。您可能希望在
COLLECT
之后添加SORT
语句以获得所需的顺序。要解决第二个问题,即分页,请使用
LIMIT
。并且将绑定参数
offset
设置为0
以获取第一页,将25
设置为第二页,依此类推。如果需要动态页面大小,只需将
LIMIT @offset, 25
替换为LIMIT @offset, @limit
,并添加额外的绑定参数。