Javascript 使用MongoDB和NodeJ创建嵌套的子文档/子元素

Javascript 使用MongoDB和NodeJ创建嵌套的子文档/子元素,javascript,node.js,mongodb,mongoose,mongodb-query,Javascript,Node.js,Mongodb,Mongoose,Mongodb Query,我被困在这里了。基本上,需求是在一个模式中创建一个类别,其下有4级子类别。这应该是一种方法 Category | --Sub Category | ---Sub Sub-Category(Sub Category Level 1) | --------Sub Category Level 2 | ------Sub Category Level 3 |

我被困在这里了。基本上,需求是在一个模式中创建一个类别,其下有4级子类别。这应该是一种方法

Category
|
--Sub Category 
  |
  ---Sub Sub-Category(Sub Category Level 1)
     |
     --------Sub Category Level 2
             |
             ------Sub Category Level 3
                   |
                    ------------ Sub Category Level 4
架构结构的图像,以便更好地理解:

通过从一个模式创建一个单独的模块和CURD数据,我创建了till类别和子类别

我有办法为子类别创建另一个页面。但我认为这可能会变得更复杂。如果有人有更好的方法,请帮助我解决我面临的问题。这是机器人3T的数据图像

My Robo 3T数据类别插入示例:

My Robo 3T数据子类别插入示例:


请帮我找到一个更好的动态方法。谢谢。:)

我们通过在MongoDB中使用嵌入式/嵌套文档方法找到了这个问题的解决方案。 我们通常做的是当我们发现

我为类别和子类别创建了两个模块。 对于category,我用来创建函数

return new Promise(function (resolve, reject) {
let params= JSON.parse(JSON.Stringify(req.body))
categoryModel
        .create(params)
        .then(success => {
           var data = {
              status: 200,
              message: "Record save successfully ",
              data: success
           };
           resolve(data);
        })
        .catch(err => {
           reject(err);
        });
      })
对于子类别,我通过获取类别的id使用了update函数(这取决于您如何做,但获取要更新的id很重要)


我们通过在MongoDB中使用嵌入式/嵌套文档方法找到了这个问题的解决方案。 我们通常做的是当我们发现

我为类别和子类别创建了两个模块。 对于category,我用来创建函数

return new Promise(function (resolve, reject) {
let params= JSON.parse(JSON.Stringify(req.body))
categoryModel
        .create(params)
        .then(success => {
           var data = {
              status: 200,
              message: "Record save successfully ",
              data: success
           };
           resolve(data);
        })
        .catch(err => {
           reject(err);
        });
      })
对于子类别,我通过获取类别的id使用了update函数(这取决于您如何做,但获取要更新的id很重要)


子类别的模式是什么样子的?它们有什么不同?谢谢你的评论:)。。。每个类别级别都应该有单独的详细信息,比如名称标题描述,如果需要,还有更多信息……但是所有这些子类别是否共享相同的模式设计?为什么要为每个子类别创建单独的模块?不必嵌套每个类别,只需在每个子类别中引用父类别id即可。通过这种方式,也可以很容易地将每个类别分开,并单独使用它们。是的,根据我们当前的方法,所有子类别共享相同的模式。因为每个子类别都包含有元信息。根据用户(将要使用的用户)的看法,这对他们来说应该是复杂的。因此,我们在考虑一个单独的模块和一个模式。子类别的模式是什么样子的?它们有什么不同?谢谢你的评论:)。。。每个类别级别都应该有单独的详细信息,比如名称标题描述,如果需要,还有更多信息……但是所有这些子类别是否共享相同的模式设计?为什么要为每个子类别创建单独的模块?不必嵌套每个类别,只需在每个子类别中引用父类别id即可。通过这种方式,也可以很容易地将每个类别分开,并单独使用它们。是的,根据我们当前的方法,所有子类别共享相同的模式。因为每个子类别都包含有元信息。根据用户(将要使用的用户)的看法,这对他们来说应该是复杂的。因此,我们正在考虑一个单独的模块和一个模式