SyntaxError: Unexpected token T in JSON at position 0 背景 查询author数据用到了多集合联合查询populate() const articles = await Article.find().populate('author'); res.send(articles) 展示如下: 看这样子我是拿到了author然后进行文章渲染 res.render('admin/article',{ articles:articles }) 循环articles进行渲染文章时用到author里的username时,我用{{$value.author.username}}进行获取然后就报错了 来看下我的错误信息 SyntaxError: Unexpected token T in JSON at position 0 我又把{{$value.author.username}}删除再看了下,发现能正常渲染出来 然后我又将 其他能正常渲染出来的代码进行了修改 比如:{{@value._id}}改为{{@$value._d}}故意写错 页面渲染肯定是报错的.而我发现报错信息和用{{$value.author.username}}渲染时报错信息是一样的 SyntaxError: Unexpected token T in JSON at position 0 出现这个问题说实话我是到现在也没找到解决方法,如有大佬知道问题所在,请告知.谢谢你. 没办法,我只能通过最笨的方法,在article里再加上username属性,从User集合构造函数里拿到username并通过修改article的username赋值给它 然后渲染时直接用{{$value.username}}渲染赋值.最后看了下页面效果.是能看到预期效果的.