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
Надявам се, че беше полезно.