2017-10-15 52 views
0

所以我有一個平均堆棧後端爲我的應用程序,基本上跟蹤健身房程序。在它中,我試圖創建基於名稱,數組集合,userid的例程,但是當我運行它時,它執行得很好,但mlab上的文檔不存儲任何此信息,只是它創建的日期。 (這是req.body樣本傳遞到我的routine.create下方的\「胸部\」[{\「setExercise \」:\「s \」,\「repAmount \」:0,\「setTime \」:1 }] \「59dbfd763645bb001185b86b)Mongoose model.create創建文檔,但不包含通過的值

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 
} 

我是新來的這是如此深入瞭解爲什麼發生這種情況將不勝感激。

回答

1

你的第二個module.exports覆蓋第一個。要麼將它們放在不同的文件中,要麼使輸出可能與以下內容不同:

const Routine = mongoose.model("Routine", RoutineSchema); 
    const Subroutine = mongoose.model(""Subroutine", SubroutineSchema); 
    module.exports = { Routine, Subroutine }; 
相關問題