在MongoDB

时间:2017-07-20 06:57:25

标签: jquery json ajax mongodb

我有以下JSON数据要插入我的MongoDB:

[ { type: 'date',
label: 'Date Field',
className: 'form-control',
name: 'date-1500532692937' },
{ type: 'date',
label: 'Date Field',
className: 'form-control',
name: 'date-1500532693129' },
{ type: 'checkbox-group',
label: 'Checkbox Group',
name: 'checkbox-group-1500532701822',
values: [ [Object] ] } ]

第一个问题是在复选框的最后一个条目中,值应为

[{"label": "Option 1","value": "option-1","selected": true}]}] 

但它只是作为对象调出,这个数据来自我的客户端的一个AJAX调用,其中contentType设置为application / json;字符集= UTF-8。

第二个问题是,当我尝试将此JSON数据插入Mongo时,我返回时出现未定义错误,导致仅存储ID而不存储任何JSON组件。

注意:如果我插入只有一个元素的JSON数组,则没有问题。我需要将所有这些信息存储在一起,因为它代表使用formbuilder构建的表单,我想要一起访问所有元素。

非常感谢任何帮助/建议,谢谢你提前。我的代码如下:

客户端的AJAX:

        $.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        data: ans,
        traditional: true,
        url: "/j",
        success: function(){
            console.log('success');
        }
        });

在服务器端插入Mongo:

 //FETCHING THE JSON OF THE CLAUSE FORM CREATED BY THE ADMIN
       router.post('/j', function(req, res, next) {

       req.session.fdata = req.body; //JSON FETCHED FROM 
                                                       JAVASCRIPT USING AJAX, STORED IN SESSION


     if(req.session.fdata==null) //CHECKING IF WE ARE RECEIVING VALUES
     {
      res.redirect('/admin');
     }
     else {

     mongo.connect(url, function (err, db) {

        assert.equal(null, err);



        db.collection('clauses').insertOne(req.session.fdata, function (err, result) {

            console.log('New Clause Added');
            console.log(req.session.fdata3);
            db.close();

        });
    });

    res.redirect('/admin');


}
//console.log(req.session.fdata);
});

0 个答案:

没有答案