我在MongoDB中轉換成數組失敗,moongoose和字典
這裏有貓鼬插入數據的問題是我的db.js型號:
var Appointment = new Schema({
date: Date,
coach: ObjectId,
complement: String,
isOwner: Boolean,
fiter : ObjectId,
fiters: [
{
user: ObjectId,
isOwner: Boolean,
status: String,
invitationDate: Date
}
],
place: ObjectId,
objectif : ObjectId,
pricing: Number,
status: String,
ratings: [
{
date: Date,
user: ObjectId,
score: Number,
comment: String,
target: ObjectId,
targetType: String
}
],
annulation : Boolean,
late: Number,
log: [{
logType: String,
date: Date,
user: ObjectId,
details: String,
relatedTo: ObjectId
}]
},
{
timestamps: true
});
這裏是我的Python腳本測試:
router.post('/', authenticate.passport.authenticate('bearer', { session: false }), function(req, res) {
appointmentToInsert =
{
date : req.body.date,
coach : req.body.coach,
fiter : req.body._id,
fiters : req.body.fiters,
place : req.body.place,
objectif : req.body.objectif,
isOwner : true,
};
new Appointment(appointmentToInsert).save(function (error, appointment) {
if (error == null) {
res.status(200).send(appointment);
} else {
console.log(error);
res.status(500).send(error);
}
});
});
:
appointment = {
"_id":idFiter,
"date": "2016-09-25T00:00:00.0000000Z",
"coach":"57dfd22f7f8effc700bfa16f",
"fiters" : [
{
"user": "57da891db39797707093c6e1",
"isOwner": False,
"status": "invite",
"invitationDate": "2016-09-25T00:00:00.0000000Z",
}],
"place" : "57d66a5b73c0ab6c007beb74",
"objectif": "57e28b64cae2161f33b641e3",
}
r = requests.post("http://127.0.0.1:8010/appointment/", data=appointment,headers=headers)
print(r.status_code)
print(r.content)
,這裏是我在用的NodeJS快遞進入點
以下是錯誤:
{ [ValidationError: Appointment validation failed]
message: 'Appointment validation failed',
name: 'ValidationError',
errors:
{ fiters:
{ [CastError: Cast to Array failed for value "[ 'status', 'isOwner', 'invitationDate', 'user' ]" at path "fiters"]
message: 'Cast to Array failed for value "[ \'status\', \'isOwner\', \'invitationDate\', \'user\' ]" at path "fiters"',
name: 'CastError',
kind: 'Array',
value: [Object],
path: 'fiters',
reason: [Object] } } }
因此,錯誤似乎字典場來自fiters,但我不明白爲什麼,如果任何人有任何線索。
感謝和問候
我做過嘗試,但它並沒有奏效:/我將與JSON感謝嘗試 – user462794