我正在尝试使用Angular和Express创建一个简单的民意调查应用程序。我已经完成了大部分工作,但在发布数据时应用程序崩溃了。express控制台似乎吐出的唯一错误是:
node_modulesmongooselibschemadocumentarray.js:94
doc.validate(function (err) {
^
类型错误:对象#没有方法"验证"
我发送的数据样本看起来像:
{
question: 'string',
responses:
{ '0': { responseText: 'asdsa' },
'1': { responseText: 'asdasd' },
'2': { responseText: 'sadasd' }
}
}
这是我的express api:http://pastebin.com/HT6yp1UN
这是我的模型http://pastebin.com/PJbaRJnX
我认为这可能与猫鼬没有得到预期的数据类型有关,但从帖子请求来看,这似乎符合我的模型的预期。我在这个问题上找不到更多的信息,有人能给我指明正确的方向吗?
谢谢!
在您的猫鼬模式中,您将responses
定义为一个数组,并且您将作为对象的对象在responses
之间发送。
在通过POST发送数据之前,您应该对数据进行整形,以反映您的猫鼬模式:
question: 'string',
responses:
[ { responseText: 'asdsa' },
{ responseText: 'asdasd' },
{ responseText: 'sadasd' }
]
}