如何使用节点添加一个JavaScript数组variables到MongoDB中

我已经定义了添加问题及其类似的模式

var mongoose = require('mongoose'); var questionSchema = new mongoose.Schema({ question_set : String, questions:[{ question_id : String, question_no : Number }] }); 

我想插入variables说, ques_set = 'xyz'和一个数组
question_array = [['id_1',1],['id_2',2],['id_3',3]]

我用这个代码插入到mongodb

 var questions = require('../schemas/questions'); exports.testing = function(req,res){ if (!req.body) return res.sendStatus(400) var ques_set = 'xyz'; var question_array = [['id_1',1],['id_2',2],['id_3',3]]; var data = question({ques_set,question_array); data.save(function(err) { if (err) throw err; else { console.log('Question Inserted'); res.send("Question Inserted"); } }); }; 

这显示了一个错误TypeError: object is not a function 。 请帮助我,我刚刚开始nodejs。 谢谢

您需要创build一个与您的模式相匹配的问题对象,如下所示:

 var Question = require('../schemas/questions'); exports.testing = function(req,res){ if (!req.body) return res.sendStatus(400) var ques_set = 'xyz'; var question_array = [ { question_id: "id_1", question_no: 1 }, { question_id: "id_2", question_no: 2 }, { question_id: "id_3", question_no: 3 } ]; var data = Question({question_set: ques_set, questions: question_array}); data.save(function(err) { if (err) throw err; else { console.log('Question Inserted'); res.send("Question Inserted"); } }); };