У меня есть следующий пост вызова:Как обрабатывать casterror node.js?
.post(function(req, res) {
member.findById(req.params.member_id, function(err, result) {
if (err)
return (err);
new_address = {
street1 : req.body.street1,
street2 : req.body.street2,
City : req.body.City,
State : req.body.State,
Zip : req.body.Zip,
Lat : req.body.Lat,
Lng : req.body.Lng
};
if(result.address === undefined){
result.address.push(new_address);
}
else{
result.address = [new_address];
}
result.save(function(err) {
if (err)
return res.send(err);
res.json({ message: 'Address created!!!' });
});
});
});
По какой-то причине при попытке к result.save()
вызову, я получаю эту ошибку:
{
"message": "Cast to undefined failed for value \"[object Object]\" at path \"address\"",
"name": "CastError",
"value": [
{
"address_type": "Home",
"street1": "2018 Elliot St",
"City": "Alexandria",
"State": "LA",
"Zip": 71301,
"Lat": 12,
"Lng": 32
}
],
"path": "address"
}
моего адрес схема является дочерней схемы членов и выглядит следующим образом :
var mongoose = require('mongoose'),
Schema = mongoose.Schema
var AddressSchema = Schema({
Address_type : String,
street1 : String,
street2 : String,
City : String,
State : String,
Zip : Number,
Lat : Number,
Lng : Number
});
module.exports = mongoose.model('Address', AddressSchema);
Вот схема член:
var mongoose = require('mongoose'),
Schema = mongoose.Schema
var Address = require('./address');
var Award = require('./award');
var MemberSchema = Schema({
FName : String,
LName : String,
address: [Address],
phone : {
type : String,
number : String
},
email: String,
gender: String,
DOB: Date,
rank : {
level : String,
updated: { type: Date, default: Date.now }
},
Awards : {
personal : Boolean,
award : [Award],
granted: { type: Date, default: Date.now }
}
});
module.exports = mongoose.model('Member', MemberSchema);
Я борюсь с этим здесь. Если кто-нибудь может понять, почему я получаю эту ошибку, я был бы очень благодарен.
Спасибо большое
Можете ли вы опубликовать схему членов? –
Случается ли то же самое с наградами? Я не видел схемы, используемые таким образом. Не сказать, что это обязательно неправильно, но если 'Awards.award.push' также не работает, мы можем быть на что-то. –
Это моя первая попытка. Я собирался наград, когда Адрес работал. Я пойду вперед и попробую, пока я надеюсь, что придет мудрость. – arcee123