Начинающий с node.js серверов, mongodb и e js, я пытаюсь создать схему участника. У меня проблемы с обновлением или добавлением значений в поля уже созданной коллекции. В маршруте "/" значения полей имени и электронной почты добавляются к новому члену, после перенаправления на маршрут "/ page1" я хочу, чтобы пользователь добавил другое значение, которое я добавлю к этому конкретному члену. I ann ==
const express = require("express");
const bodyParser = require("body-parser");
const ejs = require("ejs");
const mongoose = require("mongoose");
const app = express();
app.set('view engine', 'ejs');
app.use(bodyParser.urlencoded({
extended: true
}));
app.use(express.static("public"));
mongoose.connect("mongodb://localhost:27017/membersDB", {
useNewUrlParser: true,
useUnifiedTopology: true
});
const memberSchema = {
name: String,
email: String,
theme: String,
guests: String
};
const Member = mongoose.model("Member", memberSchema);
app.get("/", function(req, res) {
Member.deleteMany({}, function(err, members){
if (err) {
console.log("Unsuccessfully removed collection.");
} else {
console.log("Collection successfully removed.");
res.render("home");
}
});
});
app.post("/home", function(req, res) {
const member = new Member({
name: req.body.memberName,
email: req.body.memberEmail
});
member.save(function(err) {
if (!err) {
console.log("Member saved successfully.", member.name);
res.redirect("page1");
} else {
console.log("Request unsuccessful.");
}
});
});
app.get("/page1", function(req, res) {
Member.find({}, function (err, members){
res.render("page1", {
members: members
});
})
});
app.post("/page1", function(req, res) {
Member.updateOne({},{$set: {"theme": req.body.style}
});
});
Ниже приведен page1.e js код
<%- include ("partials/header"); -%>
<div class="section">
<% members.forEach(function(member) { %>
<h1>Welcome, <%= member.name %></h1>
<% }); %>
<h1>For Family or Friends?</h1>
<form class="" action="/page1" method="post">
<div class="form-group">
<button class="form-control" type="submit" value="style">Family</button>
<button class="form-control" type="submit" value="style">Friends</button>
</div>
</form>
</div>
<%- include ("partials/footer"); -%>
В целях тестирования коллекция очищается раньше, поэтому есть только один участник, с которым нужно иметь дело