MongoDB nepodporuje připojení. Pokud chcete namapovat uživatele na novinky, můžete provést následující
1) Udělejte to na aplikační vrstvě. Získejte seznam uživatelů a získejte seznam novinek a zmapujte je ve své aplikaci. Tato metoda je velmi drahá, pokud ji potřebujete často.
2) Potřebujete-li předchozí krok provádět často, měli byste přepracovat své schéma tak, aby se zpravodajské články ukládaly jako vložené dokumenty spolu s uživatelskými dokumenty.
{
"_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"
}]
}
Jakmile máte data v tomto formátu, dotaz, který se pokoušíte spustit, je implicitní. Jedna věc, kterou je třeba poznamenat, je, že analytické dotazy jsou v takovém schématu obtížné. Chcete-li získat nejnovější přidané zpravodajské články a podobné dotazy, budete muset použít MapReduce.
Nakonec návrh schématu a to, kolik denormalizace vaše aplikace zvládne, závisí na tom, jaký druh dotazů očekáváte, že vaše aplikace poběží.
Tyto odkazy mohou být užitečné.http://www.mongodb.org/display/DOCS/Schema+Designhttp://www.blip.tv/file/3704083
Doufám, že to bylo užitečné.