concat然后保存在猫鼬中没有任何作用

时间:2019-07-05 15:30:18

标签: node.js mongoose

我正在使用Mongoose 4.9.1和MongoDB 2.2.33。由于不再支持push,因此我使用concat将元素添加到模型数组中。 我确实保存了,一切正常,但是更新后的对象没有添加到数组中的元素。

hotel.reviews.concat([{
        name : req.body.name,
        rating : parseInt(req.body.rating, 10),
        review : req.body.review
    }]);

    hotel.save(function(err, hotelUpdated) {
       if (err) {
           console.log("Error adding review");
           res
               .status(500)
               .json(err);
       } else {
           res
               .status(201)
               .json(hotelUpdated);
           //.reviews[hotelUpdated.reviews.length - 1]
       }
    });

1 个答案:

答案 0 :(得分:1)

您尝试过:

const item =  {
        name : req.body.name,
        rating : parseInt(req.body.rating, 10),
        review : req.body.review
    };


HotelModel.
findOneAndUpdate({ _id : hotel._id}, {$push:{reviews:item},{new : true},(err, doc) => {

    if(err){
        console.log("Something wrong when updating data!");
    }

    console.log(doc);
});