1

私はmongodbの初心者です。2 つのコレクションを結合してクエリを実行する必要があります。

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;

mongodb の Java API を使用して実行する必要があります。私は、mongodb が結合をサポートしていないことを知っています。実装するアイデアはありますが、それが最適かどうかはわかりません。

考え:

分割して2つのクエリを実行します。(ユーザー コレクションから uuid を取得し、コメント コレクションの uuid と照合します)

それを実装する他のアイデアはありますか?2 つのクエリに分割して結果を取得することで、このクエリを実行するための mongodb Java コードを送ってくれませんか。

4

1 に答える 1

0
for each retrieved user
    find every comments for this user

またはDBRefを使用

for each comment
    DBRef::fetch(comment.user)
于 2012-08-30T10:29:27.727 に答える