[英]Mongoose model.create creates document but contains none of the value passed
所以我的應用程序有一個中等的堆棧后端,基本上可以跟蹤健身程序。 在其中,我試圖基於名稱,集合數組,用戶ID創建例程,但是當我運行它時,它執行得很好,但是mlab上的文檔不存儲任何這些信息,僅存儲其創建日期。 (這是傳遞給我的例程的req.body示例。在\\“ chest \\” [{\\“ setExercise \\”:\\“ s \\”,\\“ repAmount \\”:0,\\“ setTime \\”:1}下創建] \\“ 59dbfd763645bb001185b86b)
exports.createRoutine = function(req, res, next){
Routine.create({
routine : req.body.routineName,
sets : req.body.subroutines,
userid: req.body.userid
}, function(err, routine) {
if (err){
res.send(err);
}
Routine.find(function(err, routines) {
if (err){
res.send(err);
}
res.json(routines);
});
});
}
這是我要創建的架構
var SubRoutineSchema = new mongoose.Schema({
setExercise: String,
repAmount: {
type: Number
},
setTime: {
type: Number
}
}, {
timestamps: true
});
var RoutineSchema = new mongoose.Schema({
routine: {
type: String,
lowercase: true,
unique: true,
required: true
},
sets: [SubRoutineSchema],
userid: String
}, {
timestamps: true
});
module.exports = mongoose.model('Routine', RoutineSchema);
module.exports = mongoose.model('SubRoutine', SubRoutineSchema);
並且在mLab的例程表中沒有文檔,但是使用以下信息創建了一個子例程表
{
"_id": {
"$oid": "59e2bc7d68ba4a0011f3897c"
},
"updatedAt": {
"$date": "2017-10-15T01:40:13.220Z"
},
"createdAt": {
"$date": "2017-10-15T01:40:13.220Z"
},
"__v": 0
}
我對此並不陌生,因此不勝感激。
您的第二個模塊.exports將覆蓋第一個。 要么將它們放在不同的文件中,要么使導出不同,例如:
const Routine = mongoose.model("Routine", RoutineSchema);
const Subroutine = mongoose.model(""Subroutine", SubroutineSchema);
module.exports = { Routine, Subroutine };
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.