O MongoDB não suporta junções. Se você quiser mapear os usuários para as notícias, você pode fazer o seguinte
1) Faça isso na camada de aplicação. Obtenha a lista de usuários, obtenha a lista de notícias e mapeie-as em seu aplicativo. Este método é muito caro se você precisar dele com frequência.
2) Se você precisar fazer a etapa anterior com frequência, redesenhe seu esquema para que os artigos de notícias sejam armazenados como documentos incorporados junto com os documentos do usuário.
{
"_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"
}]
}
Depois de ter seus dados nesse formato, a consulta que você está tentando executar fica implícita. Uma coisa a notar, porém, é que as consultas de análise se tornam difíceis em tal esquema. Você precisará usar o MapReduce para obter os artigos de notícias adicionados mais recentemente e essas consultas.
No final, o design do esquema e quanta desnormalização seu aplicativo pode manipular depende de que tipo de consultas você espera que seu aplicativo execute.
Você pode achar esses links úteis.http://www.mongodb.org/display/DOCS/Schema+Designhttp://www.blip.tv/file/3704083
Espero que tenha sido útil.