2016-12-28 11 views
1

私はクライアントサーバーアプリケーションを持っており、トレースを保存してmongodbにログを記録する予定でした。私の最初のアイデアは、共通のクライアントデータ(session、ipaddress、userid、dateCreatedなど)とそのセッションのそのユーザーの各ロギングエントリの配列を持つユーザーセッションごとのドキュメントを作成することです。しかし、私はmongodb http://www.askasya.com/post/largeembeddedarrays/で大規模な配列を持つのは良い習慣ではないと私のケースでは、クライアントセッションのログ配列は、何千ものエントリに行くことができると読んだ。ロギング用のmongodb構造体?

一方、ログエントリごとに共通のパラメータを複製すると、スペースが無駄になります。

答えて

0

最後に、すべてのクライアントセッションデータをIDで記録し、ログエントリごとに新しい文書を格納する文書を作成し、その文書をIDで指し示すプロパティを作成しました。関係データをmongodbで使用してはいけませんが、ロギングのために、各ログのデータを複製するか、またはすべてのログエントリを大きな配列として追加する代わりに、ユーザーセッションデータを取得する2番目のクエリを実行することは問題ではないと思います。