Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 在App Engine上存储歌曲、艺术家和专辑数据_Python_Json_Google App Engine_App Engine Ndb - Fatal编程技术网

Python 在App Engine上存储歌曲、艺术家和专辑数据

Python 在App Engine上存储歌曲、艺术家和专辑数据,python,json,google-app-engine,app-engine-ndb,Python,Json,Google App Engine,App Engine Ndb,我需要在谷歌appengine中为我正在进行的项目存储艺术家、专辑和歌曲的信息。这些信息是从MP3目录(使用Python)中获取的元数据,需要发送到App Engine以显示给用户。除了元数据,还需要存储歌曲的路径 目前,在扫描时,我将数据存储在一个名为艺术家的字典列表中,每个艺术家字典都有一个名称和一个专辑字典列表,每个专辑字典都有一个名称和歌曲字典列表,然后每首歌曲都包含一些元数据和MP3的路径 我一直在考虑存储这些数据的方法,并尝试将数据以JSON格式发送到App Engine,然后将其处

我需要在谷歌appengine中为我正在进行的项目存储艺术家、专辑和歌曲的信息。这些信息是从MP3目录(使用Python)中获取的元数据,需要发送到App Engine以显示给用户。除了元数据,还需要存储歌曲的路径

目前,在扫描时,我将数据存储在一个名为艺术家的字典列表中,每个艺术家字典都有一个名称和一个专辑字典列表,每个专辑字典都有一个名称和歌曲字典列表,然后每首歌曲都包含一些元数据和MP3的路径

我一直在考虑存储这些数据的方法,并尝试将数据以JSON格式发送到App Engine,然后将其处理为三个模型:Artister,包含每个专辑的名称和重复的KeyProperty;Album,然后每个歌曲都有名称和重复的KeyProperty,歌曲包含其余的元数据。其中每一个还将包含一个与其所属组相关的KeyProperty

这样做的问题是:大量重复数据(组密钥)和处理数据不仅经常超过请求截止日期,而且还使用了大量数据存储写入

我能想到的解决这些问题的唯一方法是将扫描后提供的JSON存储为JsonProperty,然后将其直接传递给用户,以便在客户端使用JavaScript进行处理。我能看到的唯一问题是,我并不特别想向用户提供路径(因为这需要传递回去并继续操作)


是否有人有使用或存储此类数据的经验,或者可以提供任何现成的解决方案?

您可能想要的是一个包含所有内容的大型歌曲表。您的桌子看起来像:

歌曲|艺术家|专辑|元数据|曲目编号|发行年份|等

不要把它当作关系数据库。将其视为用户将如何检索数据。你所有的搜索很可能都是从主表开始的

您还需要一个艺术家表,但其中可能只包含艺术家和他们的简历。如果您想查看他们的所有歌曲,只需按艺术家姓名或ID筛选歌曲表即可。如果您想查看他们的相册,您可以执行相同的操作,并使用
distinct
子句(或将它们全部填充到
集合中

相册
与艺术家非常相似,只是它可能有自己的元数据


如果您想要代码,请尝试。

您可能想要的是一个包含所有内容的大歌曲表。您的桌子看起来像:

歌曲|艺术家|专辑|元数据|曲目编号|发行年份|等

不要把它当作关系数据库。将其视为用户将如何检索数据。你所有的搜索很可能都是从主表开始的

您还需要一个艺术家表,但其中可能只包含艺术家和他们的简历。如果您想查看他们的所有歌曲,只需按艺术家姓名或ID筛选歌曲表即可。如果您想查看他们的相册,您可以执行相同的操作,并使用
distinct
子句(或将它们全部填充到
集合中

相册
与艺术家非常相似,只是它可能有自己的元数据


如果您想要代码,请尝试。

您可能想要的是一个包含所有内容的大歌曲表。您的桌子看起来像:

歌曲|艺术家|专辑|元数据|曲目编号|发行年份|等

不要把它当作关系数据库。将其视为用户将如何检索数据。你所有的搜索很可能都是从主表开始的

您还需要一个艺术家表,但其中可能只包含艺术家和他们的简历。如果您想查看他们的所有歌曲,只需按艺术家姓名或ID筛选歌曲表即可。如果您想查看他们的相册,您可以执行相同的操作,并使用
distinct
子句(或将它们全部填充到
集合中

相册
与艺术家非常相似,只是它可能有自己的元数据


如果您想要代码,请尝试。

您可能想要的是一个包含所有内容的大歌曲表。您的桌子看起来像:

歌曲|艺术家|专辑|元数据|曲目编号|发行年份|等

不要把它当作关系数据库。将其视为用户将如何检索数据。你所有的搜索很可能都是从主表开始的

您还需要一个艺术家表,但其中可能只包含艺术家和他们的简历。如果您想查看他们的所有歌曲,只需按艺术家姓名或ID筛选歌曲表即可。如果您想查看他们的相册,您可以执行相同的操作,并使用
distinct
子句(或将它们全部填充到
集合中

相册
与艺术家非常相似,只是它可能有自己的元数据


如果您需要代码,请尝试。

我将处理来自json的数据,并将其放置在模型中。就模式而言,您真的不必担心冗余,因为您不能真正将ndb视为关系数据库。因此,不要为模式的正常化操心太多


但不要在客户端进行处理,这样设计真的不是一个好方法。

我会处理来自json的数据,并将其放在模型中。就模式而言,您真的不必担心