Node.js 保存不是一个函数
我需要在我的数据库中插入一个“caso”,但我收到一个错误,说明Node.js 保存不是一个函数,node.js,mongoose,Node.js,Mongoose,我需要在我的数据库中插入一个“caso”,但我收到一个错误,说明caso.save不是一个函数。我已经尝试了数千种不同的插入方式,但都没有成功。我做错什么了吗 注:我的caso.find(…)工作正常 服务器端代码: app.post('/api/casos', function (req, res) { var caso = new Caso(); caso = req.body; caso.save(function (err) {
caso.save不是一个函数
。我已经尝试了数千种不同的插入方式,但都没有成功。我做错什么了吗
注:我的caso.find(…)
工作正常
服务器端代码:
app.post('/api/casos', function (req, res) {
var caso = new Caso();
caso = req.body;
caso.save(function (err) {
if (err) {
res.send(err);
} else {
res.json({message: "Caso adicionado com sucesso!"});
}
});
});
控制器代码:
$http.post('/api/casos', $rootScope.caso).success(function(res){
console.log(res);
});
我的“caso”模型:
var mongoose = require('mongoose');
module.exports = mongoose.model('Caso', {
caso: Number,
doenca: String,
areaDamaged: String,
cankerLesion: String,
cropHist: String,
date: String,
externalDecay: String,
fruitSpots: String,
fruitingBodies: String,
fruitPods: String,
germination: String,
hail: String,
intDiscolor: String,
leafMalf: String,
leafMild: String,
leafShread: String,
leafspotsHalo: String,
leafspotSize: String,
leafspotsMarg: String,
leaves: String,
lodging: String,
moldGrowth: String,
mycelium: String,
plantGrowth: String,
plantStand: String,
precip: String,
roots: String,
sclerotia: String,
seed: String,
seedDiscolor: String,
seedSize: String,
seedTmt: String,
severity: String,
shriveling: String,
stem: String,
stemCankers: String,
temp: String
}, "casos");
req.body JSON:
{ areaDamaged: 'low-areas',
cankerLesion: 'dk-brown-blk',
cropHist: 'same-1st-yr',
date: 'Abril',
externalDecay: 'Absent',
fruitSpots: 'dna',
fruitingBodies: 'Absent',
fruitPods: 'dna',
germination: '90-100%',
hail: 'Yes',
intDiscolor: 'None',
leafMalf: 'Absent',
leafMild: 'Absent',
leafShread: 'absent',
leafspotsHalo: 'absent',
leafspotSize: 'dna',
leafspotsMarg: 'dna',
leaves: 'Abnorm',
lodging: 'Yes',
moldGrowth: 'Absent',
mycelium: 'Absent',
plantGrowth: 'Abnorm',
plantStand: 'lt-normal',
precip: 'Normal',
roots: 'Norm',
sclerotia: 'Absent',
seed: 'Norm',
seedDiscolor: 'Absent',
seedSize: 'Norm',
seedTmt: 'none',
severity: 'pot-severe',
shriveling: 'Absent',
stem: 'Abnorm',
stemCankers: 'below-soil',
temp: 'norm',
caso: 1,
doenca: 'phytophthora-rot' }
您尝试使用的
save
方法是模型的一部分,而不是req.body
。所以你必须摆脱这句话:caso = req.body;
因为它覆盖了那一行:var caso = new Caso();
您会添加post body JSON吗?我假设您的
req.body
有一个save
方法,如果没有,您将通过执行caso=req.body来覆盖您的caso对象
@BasimHennawi当然,请稍等。@NickRameau我不这么认为,请查看req.bodyvar caso=new caso();caso=所需主体代码>什么。。。你在做什么?那不可能是故意的,现在我明白了。因此,我必须将每个值设置为我的新caso。比如,caso.doenca=req.body.doenca。。。谢谢对如果有帮助,请接受答案@古斯塔沃门冬a@GustavoMendonça或var caso=新的caso(需求主体)