【问题标题】:Mongoose model.create creates document but contains none of the value passedMongoose model.create 创建文档但不包含任何传递的值
【发布时间】:2017-10-15 10:56:30
【问题描述】:

所以我的应用程序有一个平均堆栈后端,它基本上跟踪健身程序。在其中,我试图根据名称、集合数组、用户 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 中的routines 表中没有文档,但是创建了一个包含以下信息的子例程表

{
    "_id": {
        "$oid": "59e2bc7d68ba4a0011f3897c"
    },
    "updatedAt": {
        "$date": "2017-10-15T01:40:13.220Z"
    },
    "createdAt": {
        "$date": "2017-10-15T01:40:13.220Z"
    },
    "__v": 0
}

我是新来的,所以任何关于为什么会发生这种情况的见解将不胜感激。

【问题讨论】:

    标签: node.js mongodb mongoose mean-stack mlab


    【解决方案1】:

    您的第二个 module.exports 正在覆盖第一个。要么将它们放在不同的文件中,要么使导出不同,例如:

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

    【讨论】:

      猜你喜欢
      • 2013-05-22
      • 2016-06-28
      • 2014-10-11
      • 1970-01-01
      • 2021-10-25
      • 2015-10-25
      • 2020-08-10
      • 1970-01-01
      • 2013-03-02
      相关资源
      最近更新 更多