获取递归嵌套的文档-Mongoose / MongoDB
题
我有一个递归嵌套的模式,就像在博客上的评论工作一样。将单独嵌套的文档删除的最佳方法是深处的几层。
我了解您将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文档,然后在客户端(从任何级别的深处)中提取子文档。
不隶属于 StackOverflow