所以我的应用程序的平均堆栈后端基本上跟踪健身房例程。在其中我试图基于名称,集合数组,userid创建例程,但是当我运行它时执行正常但是mlab上的文档不存储任何这些信息,只是它创建的日期。 (这是传递给我的routine.create的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
}
我是新手,所以任何了解为什么会发生这种情况的人都会受到赞赏。
答案 0 :(得分:0)
你的第二个module.exports正在覆盖第一个。要么将它们放在不同的文件中,要么导出不同的颜色:
const Routine = mongoose.model("Routine", RoutineSchema);
const Subroutine = mongoose.model(""Subroutine", SubroutineSchema);
module.exports = { Routine, Subroutine };