如何定义mongodb模式以及如何将post方法写入以下调查屏幕
我试图添加具有多个答案的多个问题,但无法将其存储在MongoDB中,我希望将每个问题存储为单个对象。
const mongoose = require("mongoose");
const Schema = mongoose.Schema;
const questionSchema = new mongoose.Schema({ questionType: { type: Schema.Types.ObjectId, ref:"questionType", required: true }, questionTitle: { type: String, required: true }, questions:{ type: Array, required: true }, question: { type: String, required: true }, answer: { type: Array, required: true }, createdBy: { type: String, required: true }, }, module.exports = mongoose.model("question", questionSchema);
Associated screenshot
回答如下:var async = require("async");
exports.createQuestions = (req,res) => {
let ress=[];
async.each(req.body,function(item,callback)
{
const questions = new Questions(item);
Questions.find({questionTitle:item.questionTitle},function(err,data){
if(err){
console.log(err);
}
else if(data.length>0){
ress.push( {
'message':item.questionTitle+'is already existed'
});
callback();
}
else if(data.length==0){
questions.save().then(result => {
ress.push({
"message": "added successfully",
"status":200,
"data":result})
console.log('result',ress)
callback();
});
}
})
},
function(err) {
console.log('iterating done',err);
return res.json({"result":ress});
})
};