Node.js 如何使用mongoose保存嵌套文档

Node.js 如何使用mongoose保存嵌套文档,node.js,mongodb,mongoose,mongoose-schema,Node.js,Mongodb,Mongoose,Mongoose Schema,我最近开始研究猫鼬,我被困在一个问题上。 我要保存的数据类型如下所示 { ObjectId('abcd') allData, parentId:null, // super parent level's parent id is always null children:[ { ObjectId('xyz') allData, parentId:ObjectId('abcd'),// id of parent

我最近开始研究猫鼬,我被困在一个问题上。 我要保存的数据类型如下所示

{
   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
          }
          ]
         }
       ]
     }
   ]
}
在上面的数据中,只有一个模型在所有嵌套级别递归使用。 那么,mongoose中是否有任何方法可以用来一次性保存上述类型的数据。i、 e在一次呼叫中,我需要添加上述数据及其所有子级别。

解决方案 做到这一点的最佳有效方法是, 只需以正常形式保存文档,然后在数组中为它们提供parentId或children的id

我在下面举了一个例子,以便你们能理解

使用ParentId变量: 使用ChildrenId数组变量:
ObjectId('abcd')
allData,
parentId:null, 


ObjectId('xyz')
allData,
parentId:ObjectId('abcd'), 


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


ObjectId('xyz')
allData,
childrens:[], 


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