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

时间:2016-02-26 21:26:34

标签: javascript json node.js mongodb mongoose

这是我的架构

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'});
    });

    }) ;

标题已插入,但未插入评论

Postman snapshot

3 个答案:

答案 0 :(得分:0)

您可以使用以下

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

答案 1 :(得分:0)

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

food.comments.push({text: req.body.comments[0].text});

答案 2 :(得分:0)

从客户端(请求),传递这样的评论:""

在您的代码中,您可以像这样保存:{"comments": [{"text": "Comment 1"}, {"text": "Comment 2"}, {"text": "Comment 3"}]} = food.comments