我正在处理一个使用Firebase Firestore的项目。我没有使用过noSQL,所以我正在努力理解这项技术。
该应用程序允许用户选择电影类别并下载相关电影进行编辑。类别和电影不会被用户更改,将由所有者固定或更改。可以将其看作是类似Netflix目录,用户只能观看电影。
有几个类别,但目前只有一个类别中有一个电影(稍后可能会有更多)。每部电影都有相关元数据。
未来: - 将使用用户对象根据他们的得分(与应用程序相关的信息)对每个用户进行排名。 - 某些电影将根据本地化限制可用,即仅美国用户可以观看某部电影。
在我的第一次想法中,数据结构将如下所示:
该应用程序允许用户选择电影类别并下载相关电影进行编辑。类别和电影不会被用户更改,将由所有者固定或更改。可以将其看作是类似Netflix目录,用户只能观看电影。
有几个类别,但目前只有一个类别中有一个电影(稍后可能会有更多)。每部电影都有相关元数据。
未来: - 将使用用户对象根据他们的得分(与应用程序相关的信息)对每个用户进行排名。 - 某些电影将根据本地化限制可用,即仅美国用户可以观看某部电影。
在我的第一次想法中,数据结构将如下所示:
// Collection
Category: {
name: "drama" // Could be action, or other
}
// Collection
Movie: {
name: "Matrix"
description: "Best movie ever"
duration: 1321312
url: "https://www....."
allowedCountry: "us" // is it the right place for this field?
category: "drama" // is it ok to duplicate data here?
}
//Collection
user: {
ranking: 3
withMovie: "Matrix" // is it ok to duplicate data here?
}
我不确定这是否是适合此问题的正确数据结构。
应用程序的流程将首先呈现所有可能的类别(因此我创建了一个单独的集合,以避免迭代所有歌曲以获取类别)。
然后当用户选择一个类别时,可能的电影会显示出来,应用程序会下载所选电影。
在显示与类别相关的电影时,是否可以迭代所有可能的电影?还是应该将电影作为类别集合的子集合?