如何在React中显示已填充的文档

时间:2019-05-19 09:14:24

标签: node.js reactjs express mongoose mern

我在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输入意外结束

1 个答案:

答案 0 :(得分:1)

您的JSON格式不正确:

将其更改为此:

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

,您可以使用在线站点来检查您的json以查看其是否有效,例如this