MongoDB non supporta i join. Se vuoi mappare gli utenti alle notizie, puoi fare quanto segue
1) Fallo a livello di applicazione. Ottieni l'elenco degli utenti e ottieni l'elenco delle notizie e mappale nella tua applicazione. Questo metodo è molto costoso se ne hai bisogno spesso.
2) Se è necessario eseguire spesso il passaggio precedente, è necessario riprogettare lo schema in modo che gli articoli di notizie vengano archiviati come documenti incorporati insieme ai documenti dell'utente.
{
"_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"
}]
}
Una volta che hai i tuoi dati in questo formato, la query che stai tentando di eseguire è implicita. Una cosa da notare, tuttavia, è che le query di analisi diventano difficili su uno schema del genere. Dovrai utilizzare MapReduce per ottenere gli articoli di notizie aggiunti più di recente e simili query.
Alla fine, la progettazione dello schema e la quantità di denormalizzazione che la tua applicazione può gestire dipende dal tipo di query che ti aspetti che l'applicazione esegua.
Potresti trovare utili questi link.http://www.mongodb.org/display/DOCS/Schema+Designhttp://www.blip.tv/file/3704083
Spero di essere stato utile.