我正在创建一个DynamoDB中的人员表,我想标记这些人。如何在DynamoDB中获取具有特定值的项目?
为了演示的目的可以说,这些标签都只是串......“高”,“短”,“喜欢棒球”等等......
我如何可以设置数据,以便我能迅速用特定标签查询所有人,就像所有“高大”的人一样?
我可以避免扫描表吗?我可以避免创建多个表吗?这对于关系数据结构来说实际上是一个更好的用例吗?如果我随时拿出新标签怎么办?在这种情况下,关系不起作用。
更新:
People Tags Mappings ====== ==== ======== John firefighter John > firefighter Sally young John > young Joe owner Sally > owner Anne staff Anne > owner Chris zebra-lover Chris > zebra-lover Ben 42 Ben > zebra-lover
我已经差不多了。让我用我的理解来更新我的问题... – Costa
因此,如果我想要所有的斑马爱好者,我会查询我的斑马爱好者的映射表,并且它会吐出一个人的id列表(或我们的名字例如)...然后,我们将为每个名称执行多个获取项目请求?如果我们有成千上万的斑马爱好者呢?明智的表现还算不错吗? – Costa
在您更新的问题中,您有三张桌子,但您只需要两张桌子。 “标签” - 你有可用的表是没有必要的。而是在“映射” - 表中使用标签作为主键。然后,您可以查询该表的标签并获取属于这些标签的人员。 – Dunedan