再帰的にネストされたドキュメントを取得-Mongoose / Mongodb
質問
ブログでコメントが機能するように、私は再帰的にネストされたスキーマを持っています。いくつかのレイヤーの深さである可能性のある個別にネストされたドキュメントを引き出すための最良の方法は何ですか。
ルートドキュメントを出してから、必要なドキュメントにドリルダウンしますが、必要な文書が未知の数のレベルである可能性のある再帰状況では、どうすれば取得する必要がありますか。ループして、正しいものかどうかを確認してください...?
解決
ネストされているフォルダーを見つけるために、このような再帰検索関数を使用しているので、それを行うためのマングースの方法がないように見えます。
var findFolder = function(searchFolder ,folder_id, cb){
var folder = searchFolder.folders.id(folder_id);
if(folder == undefined){
_.each(searchFolder.folders, function(subFolder){
findFolder(subFolder, folder_id, cb);
}.bind(this))
}else{
cb(folder);//when found callback passing the doc
};
};
PSこれは、アンダースコアライブラリを使用します
他のヒント
クイックアンサーは次のとおりです。MongoDBがサポートしていないため、サブドキュメントをロードできません。 MongoDBでは、ルートドキュメントのみをロードしてから、クライアント側(任意のレベルの深いレベルから)でITサブドキュメントから抽出できます。
所属していません StackOverflow