猫鼬数据未保存到数据库

时间:2019-09-26 10:37:13

标签: mongodb express mongoose mongoose-schema

我正在尝试使用mongoose / express将表单数据添加到db。集合是在数据库内创建的,尽管提交时没有错误,但我的console.log确认数据在那里,并且生成了ID,我在数据库内仍然没有任何条目,您能看到我失踪?任何帮助将不胜感激。


    **CONFIG**
      const port = process.env.PORT || 3000,
            bodyparser = require("body-parser"),
      mongoose = require("mongoose"),
      express = require("express"),
      app = express();

    app.set("view engine", "ejs");

    app.use(
      bodyparser.urlencoded({
        extended: true
      })
    );
    app.use(
      require("express-session")({
        secret: "Mama Mia Thats a Spicy Meatball!",
        resave: false,
        saveUninitialized: false
      })
    );

    app.use(express.static(__dirname + "/styles/"));
    app.use(express.static(__dirname + "/Media/"));
    app.use(express.static(__dirname + "/JS/"));

    mongoose.connect("mongodb://localhost/lashB", {
      useNewUrlParser: true
    });

    const mongCon = mongoose.connection;

    mongCon.on("connected", function () {
      console.log(`beep boop 
        database mainframe syncroniiiiiiized`);
    });

    mongCon.on("disconnected", function () {
      console.log(`You're off the database now...Daniel San.`);
    });

    mongCon.on('error', function () {
      console.log(error, `We've got company...there's an error!!!`);
    });

    **SCHEMA**
    var customerSchema = new mongoose.Schema({
      firstName: String,
      lastName: String,
      mobile: String,
      email: String,
      treatment: String,
      time: String,
      date: Date
    });

    var Customer = mongoose.model("Customer", customerSchema, "Customer");


    **ROUTES**
    app.get("/", function (req, res) {
      res.render("main");
    });

    app.get("/appointment", function (req, res) {
      res.render("appointment");
    });

    app.get("/appointmentConfirmation", function (req, res) {
      res.render("appConfirmation");
    });

    app.get("/blogHome", function (req, res) {
      res.render("blogHome");
    });

    app.post('/appointment', function (req, res) {
      var firstName = req.body.firstName,
        lastName = req.body.lastName,
        mobile = req.body.mobile,
        email = req.body.email,
        treatment = req.body.treatment,
        time = req.body.time,
        date = req.body.date;
      var deetz = {
        date: date,
        time: time,
        treatment: treatment,
        email: email,
        mobile: mobile,
        firstName: firstName,
        lastName: lastName
      }

      Customer.create(deetz, function (err, info) {
        if (err) {
          console.log(err, `something went wrong`);
        } else {
          console.log(info);
          console.log('newly created file for a customer');
        }
      });

      res.render('appConfirmation', {
          firstName: firstName
        }

      );
    });

    app.listen(port, function () {
      console.log(`You rockin' now on port ${port}`);
    });

1 个答案:

答案 0 :(得分:0)

解决了。错误是我输入的是“ use” nameofcollection,但“ use”是用于数据库而不是集合。因此,显示dbs>使用nameofdb> db.nameofcollection.find()效果很好。