我正在尝试使用Angular和Express创建一个简单的民意调查应用。我已经完成了大部分工作但是在发布数据时应用程序崩溃了。快递控制台似乎吐出的唯一错误是:
node_modules\mongoose\lib\schema\documentarray.js:94
doc.validate(function (err) {
^
TypeError:Object#没有方法'validate'
我发送的数据样本如下:
{
question: 'string',
responses:
{ '0': { responseText: 'asdsa' },
'1': { responseText: 'asdasd' },
'2': { responseText: 'sadasd' }
}
}
这是我的快递api: http://pastebin.com/HT6yp1UN
这是我的模特 http://pastebin.com/PJbaRJnX
我认为这可能与mongoose没有得到它期望的数据类型有关,但是看看帖子请求它似乎与我的模型所期望的一致。我在这个问题上找不到更多,有人能指出我正确的方向吗?
谢谢!
答案 0 :(得分:1)
在您的mongoose架构中,您将responses
定义为一个数组,并将responses
作为对象的对象发送。
您应该在通过POST发送数据之前对数据进行整形,以反映您的猫鼬模式:
question: 'string',
responses:
[ { responseText: 'asdsa' },
{ responseText: 'asdasd' },
{ responseText: 'sadasd' }
]
}