Nodejs と Mongodb を使用して、Stackoverflow をスキャンして新しいコンテンツをスキャンし、ホットでトレンドのトピックを見つけるアプリケーションを構築しています。これを行う方法を知る必要があります。フォームMySQLと私の直感は、ここには何か違うものがあることを教えてくれます。
私は実際に Stackoverflow をスキャンしているわけではなく、類推として簡単に使用できますが、それでも、投稿、コメント、およびスレッドを投稿したユーザーがあります (コメントを投稿したユーザー atm は無視します)。
私の最初の解決策は、3 つのテーブル (コレクション) を作成することでした。
- 投稿 - 投稿に関するすべての情報を保存する場所
- 投稿統計 - 投稿に関するすべての動的情報 (コメント数、総合スコアなど) を X 分ごとに 1 回保存します。
- ユーザー - 投稿を投稿したユーザーに関する情報を保存する場所
基本的に、「今日のトップユーザーを教えてください」と「この投稿の履歴を教えてください」でデータベースにクエリを実行して、この投稿がどのように動作したか(ランク、スコア、コメントなど)の一種のグラフを作成できるようにしたいと考えています。 ) 時間とともに。
Mongodb でこのようなことを行う正しい方法は何ですか? Post ドキュメントの一部として Post Stats を保存する必要がありますか?