首页 > 解决方案 > 如何在反应中显示填充的文档

问题描述

我有一个孩子文档,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 输入意外结束

标签: node.jsreactjsexpressmongoosemern

解决方案


您的 JSON 格式不正确:

将其更改为:

[  
   {  
      "firstname":"Salma",
      "lastname":"Marzouk",
      "doctor":{  
         "firstname":"Amira",
         "lastname":"Messaoudi",
         "email":"amira1messaoudi@gmail.com"
      },
      "parent":{  
         "firstname":"Radhia",
         "lastname":"Hazgui"
      }
   }
]

你可以使用在线网站来检查你的json,看看它是否有效,像这样的网站


推荐阅读