SORU
28 ŞUBAT 2010, Pazar


Nasıl bir performans SQL MongoDB eşdeğer katılabilirim?

Nasıl bir performans SQL MongoDB eşdeğer katılabilirim?

Örneğin iki koleksiyon var ki (kullanıcılar ve yorumlar) ve pid=444 kullanıcının her biri için bilgi ile birlikte tüm yorumları çekmek istiyorum.

comments
  { uid:12345, pid:444, comment="blah" }
  { uid:12345, pid:888, comment="asdf" }
  { uid:99999, pid:444, comment="qwer" }

users
  { uid:12345, name:"john" }
  { uid:99999, name:"mia"  }

Bir şekilde çekmek için, belirli bir alan ile tüm yorumlar (örn. ...bul ({: 444 pıd}) ) ve kullanıcı bilgileri tek seferde her yorum ile ilgili?

Şu anda, ben ilk açıklamalar hangi maçı kriterim, daha sonra sergiyi uid şu sonuç kümesi, kullanıcı nesneleri birleştirme ve onlarla yorumun sonuçlar. Yapıyorum gibi görünüyor yanlış.

CEVAP
8 ŞUBAT 2011, Salı


Mongodb resmi sitesinde bu sayfa adresleritam olarakbu soru:

http://docs.mongodb.org/ecosystem/tutorial/model-data-for-ruby-on-rails/

Hikayeler bizim listesini görüntülemek için, haberi paylaşan kullanıcının adını göstermek için ihtiyacımız olacak. Eğer ilişkisel bir veritabanı kullanarak olsaydık katılın kullanıcıları ve mağazalar gerçekleştirmek ve tek bir sorguda tüm nesneleri alabiliriz. Ama MongoDB katıldı desteklemiyor ve bu yüzden, zaman zaman, denormalization bit gerektirir. Burada, bu önbelleğe alma anlamına gelir 'kullanıcı adı' özniteliği.

İlişkisel titiz bazı evrensel hukuku ihlal olsaydık olarak zaten huzursuz hissediyor olabilir. Ama diyelim MongoDB koleksiyonları ilişkisel tablolar için değil eşdeğerdir unutmayın ki; her benzersiz bir tasarım hedefi hizmet vermektedir. Normalleştirilmiş bir tablo veri atomik, yalıtılmış bir yığın sağlar. Bir belge, ancak, daha yakından bir bütün olarak bir nesneyi temsil eder. Sosyal bir haber sitesi olması durumunda, bir kullanıcı adı hikaye yayınlanmadan içkin olduğu söylenebilir.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Fuse

    Fuse

    21 Kasım 2005
  • Trevor Eckhart

    Trevor Eckha

    19 Aralık 2009
  • TSE

    TSE

    12 Kasım 2012