node.js - 如何在 react 中显示填充的文档

标签 node.js reactjs express mongoose mern

我在 MongoDB 中有一个 child 文档,其中包含两个填充文档:parent 和 doctor。我想在 child 的详细信息页面中显示家长和医生信息。

这是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é')
        }
    })
});

child 文档:

[{
    "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 以查看其是否有效,例如 this 等网站

关于node.js - 如何在 react 中显示填充的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56206352/

相关文章:

javascript - 从angerouslySetInnerHtml内容调用React类函数

node.js - 显示图像时,Object.parse 的位置 0 处出现 JSON 中的意外标记

node.js - 为什么 `allowJS` 会在我的编译输出中导致不需要的 `src` 子目录?

javascript - Node.js:使用 EventEmitter 和 Express 4.x 进行长轮询 |捕获请求关闭

javascript - 如何发出错误以便可能在客户端的错误处理程序中捕获它?

javascript - 在 javascript/node 或其他干净的方法中映射

javascript - 如何使用 Node js在mysql中使用数组更新多行

node.js - 在 Node.JS Web 应用程序中使用 mongoDB

reactjs - 使用 Jest 在 React Native 中模拟 Child

javascript - 部署到 gh-pages 时找不到 Bundle.js