Получение ошибки типа: не удается прочитать свойство find of undefined - PullRequest
0 голосов
/ 14 февраля 2020

Я скопировал код из другого приложения, и это работает нормально. но этот дает мне ошибку типа: невозможно прочитать находку свойства undefined, когда я делаю запрос к базе данных с помощью API. вот мой сервер. js

const express = require("express");
const app = express();
const bodyParser = require("body-parser");
const cors = require("cors");
const mongoose = require("mongoose");
const userRoutes = express.Router();
const PORT = 4000;

let { User } = require("./models/User");

app.use(cors());
app.use(bodyParser.json());

mongoose.connect("mongodb://127.0.0.1:27017/school", { useNewUrlParser: true });
const connection = mongoose.connection;

connection.once("open", function() {
  console.log("MongoDB database connection established successfully");
});

userRoutes.route("/").get(function(req, res) {
  User.find(function(err, users) {
    if (err) {
      console.log(err);
    } else {
      res.json(users);
    }
  });
});
app.use("/users", userRoutes);
app.listen(PORT, function() {
  console.log("Server is running on Port: " + PORT);
});

вот моя модель пользователя:

const mongoose = require("mongoose");
const Schema = mongoose.Schema;

let User = new Schema({
  firstName: {
    type: String,
    required: "First name is required"
  },
  lastName: {
    type: String,
    required: "Last name is required"
  },
  emailAddress: {
    type: String,
    required: "Email address is required",
    match: [
      /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/,
      "A valid email address is required"
    ]
  },
  password: {
    type: String,
    required: "Password is required"
  }
});

module.exports = mongoose.model("User", User);

1 Ответ

0 голосов
/ 14 февраля 2020

Ваша проблема - неправильный способ импорта пользовательской схемы, вы можете исправить это так:

let User = require("./models/User");

теперь ваши функции будут работать нормально:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...