mongo

2011-10-17 13 views
7

Her kullanıcı için alt koleksiyonların (yaklaşık 15) kullanılmasında bir anlam var mı? Kullanıcı sayısı yaklaşık 10k'dır. Alt koleksiyonlardaki kayıt miktarı 2M'ye ulaşabilir. Ya da belki büyük ortak koleksiyonu kullanmalıyım? Cevaplarınız için teşekkürler.mongo

cevap

8

Tümleşik koleksiyonlar veritabanını daha basitleştirir (koleksiyon sayısını azaltır) ve veritabanı çalışmasını daha hızlı yapar. Genelde her şeyi gömmeye çalışıyorum ve sadece ayrı koleksiyonlar oluşturamıyorum. Gömülü toplama büyük olacak Eğer yükleme sırasında kullanıcıya dışında tutabilirsiniz: sorgusu Üstü

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

Yorum içermeyen mesajları yükleyecektir. Documentation

Ancak gömülü koleksiyonlar da bazı karmaşıklıklar ekler. Örneğin, mongodb sizin için gömülü koleksiyonu sıralayamazsınız. Sipariş her zaman varsayılan. Ama sen müşteri tarafında yapabilirsin. sizin için varsayılan düzen çalışmaları, size $ dilim aracılığıyla sayfa iç içe koleksiyon yapabiliyorsanız:

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

Ayrıca şema tasarımı hakkında bu doc içine bir göz atın.

Mümkün olduğunda yerleştirmek için + 1 +.