使用 Mongoose 和 Node 将数据插入数组时出错

Error in inserting data into an array using Mongoose and Node?

本文关键字:插入 数组 出错 数据 Mongoose Node 使用      更新时间:2023-09-26

这是我的模式

var mongoose     = require('mongoose');
var Schema       = mongoose.Schema;
var FoodSchema =  new mongoose.Schema({
 title: String,
 comments: [{
     text: String
 }]
 });
module.exports = mongoose.model('Food', FoodSchema);

如何在评论中发布值,我已经尝试过了

 router.route('/food')

.post(function(req, res) {
    var food = new Food();      
    food.title = req.body.title;  
    food.comments.text= req.body.comments[0].text;
    food.save(function(err) {
        if (err)
            res.send(err);
        res.json({ message: 'Successful'});
    });
    }) ;

插入标题,但不插入注释

邮递员快照

根据Mongoose subdoc,请尝试通过.push插入子文档,如下所示

food.comments.push({text: req.body.comments[0].text});
您可以使用

以下内容

"comments" :[{"text" : "comment1", "text" : "comment2"}]

从客户端(请求),传递如下注释:{"comments": [{"text": "Comment 1"}, {"text": "Comment 2"}, {"text": "Comment 3"}]} .

在您的代码中,您可以像这样保存它: food.comments = req.body.comments .