【问题标题】:Getting recursively nested document - Mongoose / Mongodb获取递归嵌套文档 - Mongoose / Mongodb
【发布时间】:2011-11-10 04:11:09
【问题描述】:

我有一个递归嵌套模式,就像 cmets 在博客上工作一样。将单独嵌套的文档拉出可能有几层深的最佳方法是什么。

我知道您获取了根文档,然后深入到您想要的文档,但是在递归情况下,想要的文档可能是未知数量的深度,我应该如何检索它。循环并执行 if 以查看其是否正确...?

【问题讨论】:

    标签: json mongodb node.js mongoose


    【解决方案1】:

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

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

    附言这使用下划线库

    【讨论】:

      【解决方案2】:

      快速回答是:你不能加载子文档,因为 mongodb 不支持它。在 mongodb 中,您只能加载根文档,然后在客户端(从任何深度级别)从中提取子文档。

      【讨论】:

      • 谢谢,我又添加了一点解释问题的地方。
      猜你喜欢
      • 2012-10-17
      • 2015-11-27
      • 2021-03-26
      • 2018-06-30
      • 1970-01-01
      • 1970-01-01
      • 2020-09-15
      • 2020-10-04
      • 2021-10-30
      相关资源
      最近更新 更多