Mongoose 3.6以降、クエリに関連ドキュメントを再帰的に入力する機能が追加されました。これを行う方法の例を次に示します。
UserList.findById(listId)
.populate('refUserListItems')
.exec(function(err, doc){
UserListItem.populate(doc.refUserListItems, {path:'refSuggestion'},
function(err, data){
console.log("User List data: %j", doc);
cb(null, doc);
}
);
});
この場合、「refUserListItems」内のIDの配列にそれらの参照ドキュメントを入力しています。次に、クエリの結果は、入力したい元の入力済みドキュメントのフィールドを参照する別の入力クエリに渡されます-'refSuggestion'。
2番目の(内部)ポピュレートに注意してください-これは魔法が起こる場所です。必要な方法でグラフを作成するまで、これらのデータをネストし、さらに多くのドキュメントに取り組むことができます。
これがどのように機能しているかを理解するのに少し時間がかかりますが、それを実行するのであれば、それは理にかなっています。