как начать с пустой базой данных, используя mon goose и node.js - PullRequest
0 голосов
/ 09 июля 2020

Я тренируюсь составлять список дел со следующим кодом. Сначала я хочу начать с пустого списка задач.

Однако сначала мне нужно создать документ, иначе 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");
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...