Как решить mon goose ошибка статики модели - PullRequest
0 голосов
/ 27 марта 2020

Для моего graphql API определена следующая модель:

const mongoose = require("mongoose");

const Schema = mongoose.Schema;

const Post = Schema({
  _id: Schema.Types.ObjectId,
  title: { type: String, required: true },
  description: { type: String, required: true },
  content: { type: String, required: true },
  comments: { type: [String], required: true },
  tags: { type: [String], required: true },
  stats: { type: [Number], required: true },
  datePublished: { type: Date, required: true },
  dateUpdated: { type: Date, required: true }
});

// TODO: Implement methods here
// Post.statics.getPost = function(args) {
//   console.log(this.title);
//   return this.model
// };

Post.statics.getPost = function(args) {
  this.find({});
};
module.exports = mongoose.model("Post", Post, "posts");

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

{
  "errors": [
    {
      "message": "this.find is not a function",
      "locations": [
        {
          "line": 2,
          "column": 3
        }
      ],
      "path": [
        "getPost"
      ]
    }
  ],
  "data": null
}

Как мне решить эту проблему?

1 Ответ

0 голосов
/ 27 марта 2020

Не похоже, что вы создаете экземпляр экземпляра схемы mon goose. Вам нужно использовать new. Это даст вам ссылку на это.

const Post = new mongoose.Schema({ ...

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