我試圖在MongoDB中存儲一些數據,我不確定我正在使用的數據類型,因爲我使用的是formbuilder(https://github.com/kevinchappell/formBuilder)。在MongoDB中存儲JSON
我從獲取數據:
document.getElementById('getJSON').addEventListener('click', function() {
var ans = formBuilder.actions.getData('json', true);
//console.log(ans);
//var ans2 = JSON.parse(ans);
alert(ans);
console.log(ans);
$.ajax({
type: "POST",
data: ans,
url: "/j",
success: function(){
console.log('success');
}
});
document.forms["myForm"].submit();
});
它達到我的後端像這樣:
//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);
//var jfdata = JSON.parse(req.session.fdata);
db.collection('clauses').insertOne(req.session.fdata, function (err, result) {
console.log('New Clause Added');
console.log(req.session.fdata);
db.close();
});
});
res.redirect('/admin');
}
});
我將它插入到數據庫,並在數據庫中,但在檢索我看起來不錯似乎不能訪問數據的內部部分。我的數據格式不正確嗎?它是JSON還是JS對象?
它看起來像這樣的DB(數據庫是插入前空)enter image description here
這是控制檯打印
[ { _id: 596de520ef77eb2614cd1e47,
'[\n\t{\n\t\t"type": "number",\n\t\t"label": "Number",\n\t\t"description":
"total number",\n\t\t"placeholder": "0",\n\t\t"className": "form-
control",\n\t\t"name": "number-1500374279764"\n\t}\n]': '' },
{ _id: 596de520ef77eb2614cd1e48 } ]
我們需要查看您正在保存的數據庫結構或數據以瞭解錯誤。你怎麼知道它在db中看起來很好? – Shrabanee
控制檯'req.session.fdata'並把它放在你的問題中。 – Shrabanee
在控制檯上是相同的,除了新行分別用\ n和\ t表示新行和標籤。 – abhimalik