MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

mongodb php - jak wykonać zapytanie typu INNER JOIN

MongoDB nie obsługuje złączeń. Jeśli chcesz zmapować użytkowników do wiadomości, możesz wykonać następujące czynności

1) Zrób to w warstwie aplikacji. Pobierz listę użytkowników, listę nowości i zmapuj ich w swojej aplikacji. Ta metoda jest bardzo droga, jeśli często tego potrzebujesz.

2) Jeśli często musisz wykonywać poprzedni krok, powinieneś przeprojektować schemat tak, aby artykuły z wiadomościami były przechowywane jako dokumenty osadzone wraz z dokumentami użytkownika.

    {
      "_id": "4ca30373fd0e910ecc000007",
      "login": "user22",
      "pass": "example_pass",
      "date": "2010-09-29"
      "news" : [{  
                   "name": "news 222",
                   "content": "news content 2222",
                   "date": "2010-09-29" 
                }, 
                {
                   "name": "news 222",
                   "content": "news content 2222",
                   "date": "2010-09-29"
                }]
    }

Gdy masz dane w tym formacie, zapytanie, które próbujesz uruchomić, jest niejawne. Należy jednak zauważyć, że zapytania analityczne stają się trudne w takim schemacie. Będziesz musiał użyć MapReduce, aby uzyskać najnowsze dodane artykuły i takie zapytania.

Ostatecznie projekt schematu i to, jak dużą denormalizację może obsłużyć Twoja aplikacja, zależy od rodzaju zapytań, których oczekujesz od aplikacji.

Te linki mogą okazać się przydatne.http://www.mongodb.org/display/DOCS/Schema+Designhttp://www.blip.tv/file/3704083

Mam nadzieję, że to było pomocne.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Ciąg Mongoose do ObjectID

  2. Dane wiosenne MongoDb:MappingMongoConverter usuń _class

  3. Jak tworzyć aplikacje dla MongoDB i Redpanda przy użyciu Docker Compose

  4. MongoDB insertOne()

  5. Wybierz Grupuj według liczby i odrębnej liczby w tym samym zapytaniu mongodb