如何在一个数组mongoose中存储不同的subdoc?

时间:2015-07-24 09:31:54

标签: javascript node.js mongoose

我有一个测试模型,可以解答一个(无线电)和多个(复选框)答案。问题存储在数组中。如何在不关闭验证的情况下存储它们(它们由不同的子网表示)?创建一个内部类型的子文件并根据该类型使用doc操作是否是个好主意? 复选框问题示例:

{type: 'checkbox',
text: 'question text',
answers: [
    {text: 'first answer', checked: false},
    {text: 'second answer', checked: true}
]}

和电台示例:

{type: 'radio',
text: 'question text',
variants: ['wrong answer', 'right answer', 'wrong answer'],
answer: 1}//index of right variant

1 个答案:

答案 0 :(得分:1)

您必须同时创建两个属性。

 {type: 'checkbox',
    text: 'question text',
    answers: [
        {text: 'first answer', checked: false},
        {text: 'second answer', checked: true}
    ],
  variants: ['wrong answer', 'right answer', 'wrong answer'],
  answer: 1
 }

或将subdoc架构保留为[]。它将映射任何对象。或简单

{}