gpt4 book ai didi

mongodb - 在 MongoDB 中存储 JSON

转载 作者:行者123 更新时间:2023-12-04 03:11:15 26 4
gpt4 key购买 nike

我正在尝试在 MongoDB 中存储一些数据,但我不确定所提供的数据类型,因为我是从我正在使用的表单构建器( https://github.com/kevinchappell/formBuilder )中获取的。

我从以下位置获取数据:

  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 对象?

在数据库中看起来是这样的:(插入前数据库为空) 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 } ]

最佳答案

您试图保存的数据对我来说似乎不正确。

你得到的是一个 JSON 对象的字符串。
您必须使用 JSON.parse将其转换为正确的 JSON 对象。

JSON.parse('[\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]')    

之后,您可以形成数据并插入数据库。
var query = {
array : [{"type": "number",
"label": "Number",
"description": "total number",
"placeholder": "0",
"className": "form-control",
"name": "number - 1500374279764"}]
}

db.collection('clauses').insertOne(query, function (err, result)
{
db.close();
});

如果有帮助,请告诉我!

关于mongodb - 在 MongoDB 中存储 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45183843/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com