我需要一些hmtl-page javascript才能访问mongoDB数据库中的数据。我用猫鼬从感兴趣的集合中查找所有文档,将它们存储在数组中并在ejs页面上呈现。但是我收到一个错误(“无效或意外的令牌”),并且我认为这是因为_id字段未存储为字符串(它没有“ /”)。我尝试了客户端和服务器端将Id字段转换为字符串但无济于事。为什么不使用字符串或如何转换呢?
app.js
app.get('/stats', function(req,res){
pomodoroModel.find({}, function(err, studyHistory){
if(err){
console.log(err);
}
else{
// send study history
res.render('graph', {studyHistory: studyHistory});
}
});
});
这是studyHistory看起来像console.login的app.js
[ { _id: 5cdf0e14a4dfa719beef5cfa,
subject: 'Math',
timeInterval: 36142,
__v: 0 },
{ _id: 5cdf0f5404467519d5136748,
subject: 'History',
timeInterval: 43322,
__v: 0 } ]
EJS页面
<!DOCTYPE HTML>
<html>
<head>
<script>
window.onload = function () {
let studyHistoryData = <%- studyHistory %>;
浏览器中发生错误的代码
let studyHistoryData = { _id: 5cdf0e14a4dfa719beef5cfa,
subject: 'Math',
timeInterval: 36142,
__v: 0 },{ _id: 5cdf0f5404467519d5136748,
subject: 'History',
timeInterval: 43322,
__v: 0 };
答案 0 :(得分:1)
尝试将studyHistory
呈现为JSON字符串
res.render('graph', {studyHistory: JSON.stringify(studyHistory)});
然后像这样在您的ejs文件中进行解析:
let studyHistoryData = JSON.parse('<%- studyHistory %>');