应该如何在Mongodb中建模这个简单的sql架构

时间:2014-11-05 15:01:20

标签: mysql mongodb nosql

我被要求创建一个简单的Java应用程序,它将从性能的角度测试MySQL和Mongodb(大学项目)。我使用的是一个非常简单的sql架构:

3张桌子:艺术家,专辑和曲目。

关系:一位艺术家有很多专辑,一张专辑有很多专辑。

如何在Mongodb中建模?

1 个答案:

答案 0 :(得分:0)

简单的方法是让一个文档包含单个艺术家的所有信息 像这样:

class Track {
    int sequence;
    String title;
    ...
}

class Album {
    String name;
    List<Track> tracks = new ArrayList<>();
}

@Document
public class Artist {

    @Id
    private String name;
    private List<Album> albums = new ArrayList<>();
}

这不是一个糟糕的方法,因为它是一个测试。它还显示了实体/关系和文档模型之间的根本区别。请注意不需要在文档模型中维护关系。另请注意,您不需要提供ID&#39;专辑和曲目。它们只是文档的一部分。

从面向对象的角度来看,这看起来更自然。