MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

mongodb php - как да направите заявка, подобна на INNER JOIN

MongoDB не поддържа присъединявания. Ако искате да насочите потребителите към новините, можете да направите следното

1) Направете това в слоя на приложението. Вземете списъка с потребители и вземете списъка с новини и ги картографирайте във вашето приложение. Този метод е много скъп, ако имате нужда от това често.

2) Ако трябва да правите предишната стъпка често, трябва да преработите своята схема, така че статиите с новини да се съхраняват като вградени документи заедно с документите на потребителя.

    {
      "_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"
                }]
    }

След като имате данните си в този формат, заявката, която се опитвате да изпълните, е имплицитна. Едно нещо, което трябва да се отбележи обаче, е, че заявките за анализ стават трудни за такава схема. Ще трябва да използвате MapReduce, за да получите най-скоро добавените новинарски статии и подобни запитвания.

В крайна сметка дизайнът на схемата и колко денормализация може да се справи с вашето приложение зависи от това какъв вид заявки очаквате да изпълнява приложението ви.

Може да намерите тези връзки полезни.http://www.mongodb.org/display/DOCS/Schema+Designhttp://www.blip.tv/file/3704083

Надявам се, че беше полезно.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Въведение в Spring Data MongoDB

  2. Актуализиране на обект на масив въз основа на идентификатора?

  3. MongoDB и C#:Търсене без регистри

  4. MongoDB $asin

  5. Как да създадете вложен индекс в MongoDB?