Мне нужен некоторый javascript на странице hmtl, чтобы иметь возможность доступа к данным из моей базы данных mongoDB. Я использую mongoose, чтобы найти все документы из интересующей меня коллекции, сохранить их в массиве и отобразить на странице 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.logged в app.js
[ { _id: 5cdf0e14a4dfa719beef5cfa,
subject: 'Math',
timeInterval: 36142,
__v: 0 },
{ _id: 5cdf0f5404467519d5136748,
subject: 'History',
timeInterval: 43322,
__v: 0 } ]
EJS page
<!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 };