在Mongoose中更新/添加子文档上的子文档

时间:2015-07-29 04:26:03

标签: node.js mongoose

如何在mongoose中更新/添加子文档中的子文档, 我有Tree Json的示例数据,如下所示:

orgchart:
 [
  {
    level: 0,
    name: Division 0,
    child: [
     {
       level: 1,
       nama: Division 1,
       child: [
        {
          level: 2,
          nama: Sub Division 2,
          child: [ here division X ]
        }
       ]
     }
  },
 ]

我尝试使用parent.push但只添加了1个子文档,当我尝试在子文档中使用更多子文档时总是失败并显示消息" TypeError:无法调用方法' push'未定义"

你有解决这个问题的线索, 感谢

2 个答案:

答案 0 :(得分:0)

在这种情况下,你可能最好抓住调用.findOne()来获取文档包含要更新的子文档,将子文档推送到数组,然后调用.save()文档。

实际上,如果您有包含子文档的子文档,则应考虑为子文档创建集合,并可能考虑为这些子文档中嵌入的文档创建集合。您可以在父文档中存储_id个引用,并使用您的查询调用populate(...)

我会提供一个例子,虽然我不确定你想要完成什么。最初它看起来像糟糕的数据建模,但我不确定你到底想要完成什么。

答案 1 :(得分:0)

很抱歉打扰你tsturzl先生 我从Mongodb update deeply nested subdocument

获得了解决方案

谢谢