彼/彼女がフォローしている他のユーザー ID の配列を持つUserエンティティがあります。
var userSchema = {
following: { type: Array }
};
私は RESTful API を持っています。私が をリクエストするときUser、私のアプリケーションはそれが何人のフォロワーをUser持っているかを知る必要があります。
私が見る2つのオプションは次のとおりです。
Userが要求されたら、次のようなカウント クエリを実行します。{ following: { $in: [userId] } }- a
UserがPOST編集されたら、ユーザー ID が配列に追加または削除されたかどうかを確認し、追加または削除されたfollowing場合は、MongoDB を使用して、フォロー/フォロー解除されたドキュメントのプロパティ$incをインクリメントまたはデクリメントします。followersCountUser
他に選択肢はありますか?そうでない場合、最良の選択肢は何ですか?ドキュメント自体にプロパティを配置するのは少し奇妙に感じfollowersCountます。これは、実際には動的なカウントであるにもかかわらず、アプリケーションによって更新できることを示唆しているためです。
articleに関連付けられているの数を返すために RESTful API が必要な同様の状況がありますwebsite。要求に応じてその Web サイトの記事をカウントしますか? それともカウント プロパティを保存し、その Web サイトに関連付けられた新しい記事が作成されるたびにそれを更新しますか?