如果我有一个包含列表的对象。我是否应该将该列表存储在与列表中的对象或存储相同的文档中,并带有引用。或者我应该将它存储在两者中,也不是说照片列表对象的大小会增加,感谢任何建议。
public class Album
{
public string Name { get; set; }
//Should I store this inside of the album document?
public List<Photo> Photos {get; set; }
}
public class Photo
{
public string Title { get; set; }
}
答案 0 :(得分:4)
将列表存储在包含的对象/文档中。除非你有一个非常令人信服的理由否则。
答案 1 :(得分:4)
要么是可以接受的。 Alonso是对的,等到你有令人信服的理由把它分开。
令人信服的原因示例是,如果您经常需要访问其余的相册信息,并且照片列表非常大。另一个例子是,如果您想要在相册上进行版本跟踪,而不是在照片列表上进行版本跟踪。
第三种可能性是将每张照片存储在一个单独的文档中,并引用相册ID而不是保留列表。
public class Photo
{
public string Id { get; set; }
public string Title { get; set; }
public string AlbumId { get; set; }
}
这实际上取决于哪种方案更适合您的场景。没有一个正确的方法。