Question

J'ai un schéma récursive imbriqué comme commentaires fonctionnent sur un blog. Quelle est la meilleure façon de tirer un document sur imbriqué individuellement qui peut être plusieurs couches profondes.

Je comprends que vous obtenez le document racine sur, puis percer vers le document que vous voulez, mais dans une situation récurrente où le document voulu peut être un nombre inconnu profond de niveaux comment dois-je retrive il. Boucle à travers et faire une si pour voir si son la bonne ...?

Était-ce utile?

La solution

On dirait qu'il n'y a aucun moyen de mangouste de le faire si im en utilisant une fonction de recherche récursive comme celui-ci pour trouver un dossier qui est imbriqué:

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
  };
};

p.s. celui-ci utilise la bibliothèque underscore

Autres conseils

Réponse rapide est: vous ne pouvez pas charger le document sous, parce que MongoDB ne le supporte pas. En mongodb vous pouvez charger seul document racine, puis en extraire sous le document à côté client (de tous les niveaux de profondeur).

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top