我第一次潜入noSQL(AWS DynamoDB)并编写了一个将维护产品目录的nodejs应用程序。产品目录有两种类型的产品 - 产品和类别。
产品可以出现在多个类别中。我真的很难找到关于如何最好地解决这个问题的信息来源,我认为使用查询将是正确的解决方案,但理想情况下解决方案和数据都会很优雅。
目前我的产品看起来有点像:
{
"productId": 12930,
"productCode": "DIHA",
"name": "6 Bottle Beer Pack",
"onSale": true,
"newItem": false,
"relatedItems": [1240, 1201, 4508, 55067],
"categoryIds": [1201, 1202, 1203, 1204]
}
目的是能够查询某个类别中的产品,例如1203,然后按照诸如onSale& amp;的newitem。
我见过一个例子,他们像这样压缩类别
"category_1": 1201,
"category_2": 1202,
"category_3": 1203,
"category_4": 1204,
...
但是这种方法的某些方法并不适合我(不优雅?)
我玩过使用标准化表格,例如CategoryProduct,列出categoryIds及其相关productIds。
{
1201: [12930, 12931, 12932, 12933 ...],
1202: [12930, 12678, 12679, 12680 ...],
1203: [12930, 12500, 12501],
1204: [12930, 12931],
...
}
但是,如果我的理解是正确的,那么这将是相当重的资源并导致多次读取只是为了获取产品来过滤
是否有人知道按类别或标签过滤整个目录的任何教程或资源?我觉得我已经搜索了谷歌/ GitHub / stackoverflow,还没有看到一个继续下去的例子。
如果有人可以与我分享他们的知识/资源,我将永远感激。