簡體   English   中英

貓鼬model.create創建文檔,但不包含任何傳遞的值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM