【问题标题】:How can i save nested documents using mongoose如何使用猫鼬保存嵌套文档
【发布时间】:2021-05-07 20:57:13
【问题描述】:

我最近开始研究猫鼬,但我遇到了一个问题。 我要保存的数据类型如下图,

{
   ObjectId('abcd')
   allData,
   parentId:null,  // super parent level's parent id is always null
   children:[
     {
       ObjectId('xyz')
       allData,
       parentId:ObjectId('abcd'),// id of parent
       children:[
       {
          allData,
          parentId:ObjectId('xyz'),// id of parent
          children:[
          {
            ... // nested levels can be N number of times
          }
          ]
         }
       ]
     }
   ]
}

在上述数据中,只有一个模型在所有嵌套级别中递归使用。 那么猫鼬中有什么方法可以用来一次性保存上述类型的数据。即在一次调用中,我需要添加上述数据及其所有子级别。

【问题讨论】:

    标签: node.js mongodb mongoose mongoose-schema


    【解决方案1】:

    解决方案

    最好和最有效的方法是, 只需以正常形式保存您的文档,然后在数组中给他们 parentId 或孩子的 id。

    我在下面给出了例子,所以你可以理解。

    使用 ParentId 变量:

    ObjectId('abcd')
    allData,
    parentId:null, 
    
    
    ObjectId('xyz')
    allData,
    parentId:ObjectId('abcd'), 
    
    
    ObjectId('xyz-new')
    allData,
    parentId:ObjectId('abcd'), 
    

    使用 ChildrenId 数组变量:

    ObjectId('abcd')
    allData,
    childrens:[ObjectId('xyz'),ObjectId('xyz-new')], 
    
    
    ObjectId('xyz')
    allData,
    childrens:[], 
    
    
    ObjectId('xyz-new')
    allData,
    childrens:[], 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-13
      • 1970-01-01
      • 1970-01-01
      • 2016-06-08
      • 2014-07-26
      • 2019-07-14
      • 2015-08-21
      相关资源
      最近更新 更多