我有一个递归嵌套的模式,就像在博客上的评论工作一样。将单独嵌套的文档删除的最佳方法是深处的几层。

我了解您将root文档删除,然后深入到所需的文档,但是在递归情况下,通缉文档可能是我应该如何检索的未知级别。循环遍历,如果查看它是否正确...?

有帮助吗?

解决方案

看来没有猫鼬的方法可以做到,所以我使用这样的递归查找函数来查找嵌套的文件夹:

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中,您只能加载root文档,然后在客户端(从任何级别的深处)中提取子文档。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top