2012-08-30 7 views
0

Je suis newbie à mongodb. J'ai besoin de faire une requête en joignant deux collections.mongodb java pour rejoindre deux collections

comments 
{ uid:12345, pid:444, comment="blah" } 
{ uid:12345, pid:888, comment="asdf" } 
{ uid:99999, pid:444, comment="qwer" } 

users 
{ uid:12345, name:"john" } 
{ uid:99999, name:"mia" } 

query: Select c.pid, c.comment from comments c, users u uwhere c.uid = u.uid; 

Je dois l'exécuter en utilisant java api pour mongodb. Je sais que mongodb ne supporte pas les jointures. J'ai une idée à mettre en place, mais je ne sais pas si c'est la meilleure.

idée:

effectuer deux requêtes en la divisant. (récupérer l'uuid des collections d'utilisateurs et vérifier par rapport à l'uuid de la collection de commentaires)

Avez-vous d'autres idées pour l'implémenter? Quelqu'un pourrait-il m'envoyer le code mongodb java pour effectuer cette requête en divisant en deux requêtes et obtenir le résultat.

Répondre

0
for each retrieved user 
    find every comments for this user 

ou en utilisant DBRef

for each comment 
    DBRef::fetch(comment.user) 
+0

si possible pourriez-vous me poster le code complet? – Ramya