我前端提交的数据是这样的
{
"Names": [{
name: "关于我们",
address: "[栏目]关于我们",
icon: "默认",
bg: "默认",
Accor: ["checkmark-round", "close-round", 0]
}, {
name: "案例欣赏",
address: "[栏目]案例欣赏",
icon: "默认",
bg: "默认",
Accor: ["checkmark-round", "close-round", 0]
}, {
name: "服务介绍",
address: "[栏目]服务介绍",
icon: "默认",
bg: "默认",
Accor: ["checkmark-round", "close-round", 0]
}]
}
利用node保存到mongodb里面
但是保存的样式是 这样的,
在利用express取到保存的数据,输出到服务器,我在利用axios,去取数据,但是取不到Names,能取到_id
这是取到的数据
PS:Names前面多了一个花括号,怎么能去掉啊
PSSS:我不能取到JSON数据。。
这不是多了一个花括号的问题,从犯的错误来看,你可能对
JSON
是什么东西还缺乏了解。举个例子,100
是数字,但是"100"
是字符串。同理,{"a": 1}
是JSON
,"{\"a\": 1}"
是字符串。JSON
的本质是一个可以嵌套的键值对,你不仅把一个JSON
对象作为字符串存到了数据库里,而且是作为另一个JSON
对象的键存进去的。这种方式语法上虽然没有错,但对MongoDB而言没有任何意义,肯定也不能做任何查询。没有看到代码,所以只能猜测可能发生了什么问题,据此来说明这个问题。
一般来说如果
JSON
是被POST
过来的你会有一个类似于以下代码来得到这份数据:从你上面的情况来看,你把这个东西直接给存进MongoDB里面,会有类似于:
只有做了类似这样的操作,才会有你截图中的结果存在。要得到正确的结果,应该做的是: