2011-10-17 11 views
7

すべてのユーザーにサブコレクション(約15)を使用することに意味がありますか?ユーザー数は約10kです。サブコレクション内のレコードの量は2Mに達することができます。あるいは、私は大規模なコレクションを使うべきでしょうか?あなたの答えをありがとう。サブコレクションを使用するmongo

答えて

8

埋め込みコレクションを使用すると、データベースが簡単になり(コレクションの数が減ります)、データベースの処理が高速になります。私は通常、すべてを埋め込みしようとしています。私が別々のコレクションを作成できない場合に限ります。あなたの埋め込まれたコレクションが大きいだろう場合は、読み込み時にユーザーから除外することができます:クエリの上

db.posts.find({ tags : 'tennis' }, { comments : 0 }); 

はコメントせずに記事をロードします。 Documentation

しかし、埋め込まれたコレクションにはやや複雑さが加わります。たとえば、mongodbは埋め込みコレクションをソートすることはできません。注文は常にデフォルトです。しかし、あなたはクライアント側でそれを行うことができます。 はあなたのためのデフォルトの順序作業する場合は、ページには、$スライスを経由してコレクションを入れ子にすることができます

db.posts.find({}, {comments:{$slice: [20, 10]}}) // skip 20, limit 10 

もスキーマ設計については、このdocに見てみましょう。

可能な限り埋め込むために、So + 1。

関連する問題