我尝试使用NodeJS填充MongoDB中的文档,因此创建了一个Schema和一个post req。

var gameSchema = new Schema({
       title: String,
        developer: {
            name: String,
            email: String
        },
        isBroadcasted: Boolean
    });


因此,由于需要,我想填充此架构。

router.post('/android', auth, function(req, res){
    // Create a new instance of the Game model
    var game = new Game();
        game.title = req.body.title;

game.developer.name = req.body.developer.name;
game.developer.email = req.body.developer.email;


javascript -  Mongoose 架构与对象-LMLPHP

但是,当我运行它时,出现错误消息“ TypeError:无法读取未定义的属性'name'”,但我不明白为什么,因为存在developer.name。

最佳答案

我猜错误不是指game.developer.name,而是指req.body.developer.name
尝试将行更改为

game.developer.name = req.body['developer.name']


因为您的参数developer.name被解析为字符串,而不是嵌套对象。

关于javascript - Mongoose 架构与对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38319935/

10-13 01:32