我的代码如下所示:

  router.put('/stories/:story', function(req,res,next){
  Story.findById(req.story._id, function(err, story) {
        if (err) {
            res.send(err);
        }

        story.scenarios.push(req.body);
        story.save(function(err,story) {
            if (err) {
                res.send(err);
            }
            res.json(story);
        })

    });
});


req.body包含一个带有图像和音频的对象。
我希望能够使用新对象更新此数组。
我如何将新对象推送到story.scenario(开始时为null)。

现在我得到一个错误:“无法读取null的属性推送”

有人知道解决方案吗?

最佳答案

story.scenarios在一开始就是null,因此您需要将其初始化为[],但是由于story.scenarios可能已经有数据,所以您不想一直都这样做。

story.scenarios = story.scenarios || [];
story.scenarios.push(req.body);

关于angularjs - 如何将对象插入空数组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41176005/

10-09 20:13