我有以下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);
});