В настоящее время у меня есть список с некоторыми записями в моей базе данных. Теперь я хочу, чтобы пользователи могли редактировать одну из этих записей.
При нажатии кнопки «Редактировать» она должна загрузить исходную форму и предварительно заполнить все поля значениями, уже сохраненными в базе данных.
Я использовал шаблон усов для своей формы, похожий на этот:
<!DOCTYPE html>
<html>
<head>
<title>{{ title }}</title>
<link rel='stylesheet' href='/stylesheets/style.css' />
</head>
<body>
<h1>Issue Form</h1>
<p>{{ errors }}</p>
<form method="post">
<label>Title: <br><input type="text" name="title">{{ value }}</label><br>
<label>Description: <br><textarea type="text" name="description">{{ value }}
</textarea></label><br>
<label>Priority: <br>
<select name="priority">
<option>high</option>
<option>medium</option>
<option>low</option>
</select>
</label><br>
<input type="submit" value="Save Entry">
</form>
</body>
</html>
Это моя схема Мангуста:
var issueSchema = new mongoose.Schema({
title: String,
description: String,
priority: String
});
Я, конечно, много исследовал, как заполнять свои поля. Я читал о функции mongoose "populate ()", но когда я пытался ее использовать, всегда возникали ошибки, сообщающие, что сама функция не определена.
Другим вариантом было использование файла JSON для хранения значений данных, но я не могу сделать это в этом примере, так как значения всегда должны храниться в моей папке данных MongoDB.
Другая версия, которую я нашел, создавала объект с помощью функции toObject (). Но в любое время я попробовал это:
router.get('/edit/:id', (req, res) => {
var objectForEditing = issueModel.findOne(req.params.id).toObject;
console.log(objectForEditing);
res.render('issueFormEdit');
});
Часть console.log показывает мне объект как неопределенный.
Использование JQuery, как я делал в любом другом javascript-файле, также не работало, даже при включении модулей.
Мне просто нужен метод для соединения моего кода javascript с моим файлом hjs. Но я просто не могу этого сделать, моих знаний для этого недостаточно. Я действительно много испробовал и потратил много часов. Но я просто не могу понять, как соединить эти два файла.
Я впервые работаю с этой комбинацией Mustache.JS и MongoDB / Mongoose / Express. Пожалуйста, будьте нежны: (
Если вам понадобится больше кода, просто дайте мне знать.