質問

ブログでコメントが機能するように、私は再帰的にネストされたスキーマを持っています。いくつかのレイヤーの深さである可能性のある個別にネストされたドキュメントを引き出すための最良の方法は何ですか。

ルートドキュメントを出してから、必要なドキュメントにドリルダウンしますが、必要な文書が未知の数のレベルである可能性のある再帰状況では、どうすれば取得する必要がありますか。ループして、正しいものかどうかを確認してください...?

役に立ちましたか?

解決

ネストされているフォルダーを見つけるために、このような再帰検索関数を使用しているので、それを行うためのマングースの方法がないように見えます。

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サブドキュメントから抽出できます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top