首页 > 解决方案 > 如何在猫鼬中保存字符串数组

问题描述

我正在尝试将数据保存在 uisng node js 字段数组中,但是这里的数据库显示为空字段,我在这里做错了什么。请帮助我提前谢谢

架构设计:-

module.exports = mongoose => {
const Question = mongoose.model(
  "question",
  mongoose.Schema(
    {
      roleType  : { type:String },
      questions : [{ 
          question  : { type:String }, 
          options   : [{ type:String }]
        }]
    })
)    
return Question;
};

代码:-

   const { roleType, question, options }  = req.body
   const questionList = new Question ({     
       roleType: roleType,
       questions: [{
         question:question,
         options: options
       }],
     });
   questionList.save(questionList)

邮递员我正在传递这样的数据:-

在此处输入图像描述

数据库是这样存储的:-

在此处输入图像描述

标签: node.jsmongodb

解决方案


您正在以错误的方式解构您的对象。

const { roleType, question, options }. 大括号内的问题和选项期望各自的属性questionoptions主体对象。由于它们不存在,question,options是未定义的。

只需传递问题:

   const { roleType, questions}  = req.body
   const questionList = new Question ({     
       'roleType': roleType,
       'questions': questions,
     });
   questionList.save(questionList);

推荐阅读