2017-12-06 10 views
0

私はnosqlで新しく、私はjoinのように動作するクエリが必要です。あなたが私を助けてくれることを願っています。 id名を持つ ユーザーコレクションIDのコメントはmongodbのような特定のクエリ

1 user_idを含ん アイデアコレクションは多くのコメントを持つことができると私は、ユーザー Idea.comment User.nameは結果であることにより、与えられた コメントに到達したいと思い、私が欲しい IあなたはTHX

db.ProjectIdea.aggregate([ 
    { 
    $lookup:{ 
     from:"User", 
     localField:"createdUser", 
     foreignField:"_id", 
     as:"kim" 
    } 
} 
]).forEach(
function(u){ 

     print(u.kim[0].name; 
    } 
); 

私を助けることができると思いますが、一部のユーザーはそう、私はエラー How do I perform the SQL Join equivalent in MongoDB?をサイコーいname属性が定義されていない、私は前にリンクに事を試みたが、問題全体

を解決することができませんでした
+2

[MongoDBで同等のSQL結合を実行するにはどうすればいいですか?](https://stackoverflow.com/questions/2350495/how-do-i-perform-the-sql-join-equivalent-in- mongodb) – Neodan

+0

はいそれは同じですが同じ問題ではありません – cburalk

答えて

0

は私が

db.ProjectIdea.aggregate([ 
    { "$match": { projectId:ObjectId("59e72193212ef231dc5c7d7d") } }, 
    { 
     $lookup:{ 
      from:"User", 
      localField:"createdUser", 
      foreignField:"_id", 
      as:"kim" 
    } 
} 
]).forEach(
    function(u){ 
     print(""+u._id+'|'+u.caption.replace("\r"," ").replace("\n"," 
     ")+'|'+u.idea.replace("\r"," ").replace("\n"," ")+'|'+u.kim[0].name+' 
'+u.kim[0].lastName+""); 
} 
); 

唯一の問題ここに解決策を見つけた「キム」の部分は、(例えば、その部分は未定義することができますコメントを与える人を削除するコメントの後)、これを名前とlastNameを持っていない場合でありますコードがエラーをスローします。そのエラーも修正しようとします。次に、その部分を再度編集します。

関連する問題