node.js - 如何在反应中显示填充的文档
问题描述
我有一个孩子文档,MongoDB
其中包含两个填充文档:父母和医生。我想在孩子的详细信息页面中显示父母和医生信息。
这是服务nodeJS
:
Router.get('/kids/findKidByID',function (req, res) {
console.log(req.query)
KidModel.findOne({_id: req.params.id}).populate("doctor parent").exec(function (err,u) {
if (err) {
res.send({'state':'not ok','msg':'err:'+err})
console.log('err')
} else {
res.send(u);
console.log('succé')
}
})
});
孩子文件:
[{
"firstname": "Salma",
"lastname": "Marzouk",
"doctor": {
"firstname": "Amira",
"lastname": "Messaoudi",
"email": "amira1messaoudi@gmail.com",
},
"parent": {
"firstname": "Radhia",
"lastname": "Hazgui",
}
}]
getone() {
fetch('http://localhost:4000/admin/kids/findKidByID?_id='+ localStorage.getItem("id"), { method: 'GET' } )
.then(response => response.json())
.then(data => {
console.log(data);
this.setState({kid: data})
})
}
但我收到一个错误:JSON 输入意外结束
解决方案
您的 JSON 格式不正确:
将其更改为:
[
{
"firstname":"Salma",
"lastname":"Marzouk",
"doctor":{
"firstname":"Amira",
"lastname":"Messaoudi",
"email":"amira1messaoudi@gmail.com"
},
"parent":{
"firstname":"Radhia",
"lastname":"Hazgui"
}
}
]
你可以使用在线网站来检查你的json,看看它是否有效,像这样的网站
推荐阅读
- c# - C# XML 反序列化为一张表中的 DataSet
- express - Express 中间件,对请求对象的更改不会持续存在
- java - 如何找到字符串中最长的单词?
- terminal - iterm2 问题:创建具有与前一个当前选项卡相同路径的新选项卡但 2 个选项卡是克隆而不是独立的
- javascript - 我在构建作业模块时获得了意想不到的价值
- node.js - 节点快速缓存问题
- path - 关于可执行文件路径的查询
- android - 如何通过深度链接打开我的网络应用程序链接?
- php - 寻找一个递归函数,将所有 * 替换为嵌套级别并结合 Laravel 的点表示法
- focus - 以编程方式导航 Material-ui 中的焦点