猫鼬架构无限嵌套

时间:2019-06-06 11:20:03

标签: node.js mongoose mongoose-schema

我在创建一个描述要存储在mongoDB中的对象的模型时遇到了一些麻烦。

这是对象:

simple: [
    {
      label: 'Satisfied customers',
      children: [
        {
          label: 'Good food',
          children: [
            { label: 'Quality ingredients' },
            { label: 'Good recipe' }
          ]
        },
        {
          label: 'Good service (disabled node)',
          children: [
            { label: 'Prompt attention' },
            { label: 'Professional waiter' }
          ]
        },
        {
          label: 'Pleasant surroundings',
          children: [
            { label: 'Happy atmosphere' },
            { label: 'Good table presentation' },
            { label: 'Pleasing decor' }
          ]
        }
      ]
    }
  ]

这是输入到QTree的数据:https://quasar.dev/vue-components/tree

我想对此建模,但该对象在理论上可以无限期扩展,因为每个孩子都可以拥有自己的孩子,依此类推。有没有办法在猫鼬模式中很好地做到这一点?到目前为止,我的搜索为空。

这是我现在拥有的:

simple: [{
  _id: false,
  label: String,
  children: [{
    _id: false,
    label: String,
  }]
}]

我当然可以选择将深度限制为一定的数量(例如5),并将该数量的嵌套放入我的模式中,但是我试图找到一个更优雅的解决方案,这样我就不必这样做。 / p>

0 个答案:

没有答案