次のような簡単な例を挙げて、単一のドキュメントとして保存するか、複数のドキュメントとして保存するかについてのガイダンスをお願いします。
class User
{
public string Id;
public string UserName;
public List<Post> Posts;
}
class Post
{
public string Id;
public string Content;
}
データが保存されると、特定のユーザーのすべての投稿が必要になる場合があります。特定の条件を満たす複数のユーザーにまたがる投稿が必要な場合があります。
各ユーザーを(投稿が埋め込まれた)ドキュメントとして保存する必要がありますか、それともユーザーと投稿を別々のドキュメントとして保存し、投稿に何らかのIDを含めてユーザーにリンクする方が理にかなっていますか?
では、各ユーザーが組織に属している場合はどうなりますか(私のアプリケーションには数百の組織があります)。
class Organization
{
public string Id;
public List<User> users;
}
次に、単一ドキュメントのアプローチを維持する必要がありますか?この場合、組織ごとに1つの巨大なドキュメントを保存します。このドキュメントには、埋め込みユーザーが含まれ、次に埋め込み投稿が含まれますか?