Я тренируюсь составлять список дел со следующим кодом. Сначала я хочу начать с пустого списка задач.
Однако сначала мне нужно создать документ, иначе mon goose не создает базу данных автоматически просто с помощью «mon goose .connect. .. ». Поэтому я сначала создаю «welcome», а затем сразу прошу «deleteMany» или «deleteOne» элемента «welcome». Однако каждый раз, когда я запускаю локальный сервер, будет одно приветствие. Как это решить? Полные коды также приведены ниже.
const defaultItem = new Item({
name:"welcome"
})
Item.create(defaultItem, function(err,defaultItem){
if (err) {
console.log(err);
} else {
console.log("log default item")
}
});
Item.deleteMany({name:"welcome"},function(err){
if (err) {
console.log(err);
}
})
Спасибо.
const express = require("express");
const bodyParser = require("body-parser");
const date = require(__dirname + "/date.js");
const mongoose = require("mongoose");
mongoose.connect("mongodb://localhost:27017/todolistDB", {
useNewUrlParser: true,
useUnifiedTopology: true
});
// mongoose.connection.db.createCollection("todolistDB");
const db = mongoose.connection;
// db.createCollection("items");
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function() {
console.log("we're connected!");
});
const app = express();
app.set('view engine', 'ejs');
app.use(bodyParser.urlencoded({
extended: true
}));
app.use(express.static("public"));
const itemSchema = new mongoose.Schema({
name: String
})
const Item = mongoose.model("Item", itemSchema);
const defaultItem = new Item({
name:"welcome"
})
Item.create(defaultItem, function(err,defaultItem){
if (err) {
console.log(err);
} else {
console.log("log default item")
}
});
Item.deleteMany({name:"welcome"},function(err){
if (err) {
console.log(err);
}
})
// Item.insertMany(itemArr, function(err) {
// if (err) {
// console.log(err);
// } else {
// console.log("success add default lists");
// }
// });
app.get("/", function(req, res) {
const day = date.getDate();
Item.find(function(err, items) {
res.render("list", {
listTitle: day,
newListItems: items
});
})
})
app.post("/", function(req, res) {
const item = new Item({
name: req.body.newItem
});
item.save()
res.redirect("/");
});
app.post("/delete", function(req,res){
Item.findByIdAndRemove(req.body.checkbox,function(err){
if (err) {
consol.log(err);
} else {
res.redirect("/");
}
});
})
app.get("/work", function(req, res) {
res.render("list", {
listTitle: "Work List",
newListItems: workItems
});
});
app.get("/about", function(req, res) {
res.render("about");
});
app.listen(3000, function() {
console.log("Server started on port 3000");
});