Проблема API Rest узла с контроллером - PullRequest
1 голос
/ 17 апреля 2019

Я разработал api моего узла rest как обычно, но на этот раз он показывает какую-то недопустимую ошибку в файле controller.js. Мангуст не становится обязательным. Когда я нажимаю API в почтальоне, он выдает ошибку как:

{ "error": { "message": "Tweets is not a constructor" } }

Я даже обновил свои пакеты для того же, но, похоже, ничего не работает. Вот фрагмент моего контроллера для tweets.js :

const mongoose = require('mongoose');
const Tweets = require('../models/tweets');

exports.get_all_tweets = (req, res, next) => {
    Tweets.find()
    .exec()
    .then(docs => {
        console.log(docs);
        res.status(200).json(docs);
    })       
      .catch(err => {
        console.log(err);
        res.status(500).json({
          error: err
        });
      });
}

exports.create_tweets = (req, res, next) => {
    const tweetbody = req.body;
    tweetbody._id = mongoose.Types.ObjectId();
    const tweet = new Tweets(tweetbody);
    tweet
    .save()
    .then(docs => {
        console.log(docs, 'Tweets');
        res.status(200).json(docs);
    })
    .catch(err => {
        console.log(err, 'error found');
        res.status(500).json({
          error:err
        });
    });

Первая строка мангуста выглядит пустой, как показано на скриншоте: мангуст

Модель для твитов.js:

const mongoose = require('mongoose');

const tweetSchema = mongoose.Schema({
    _id: mongoose.Schema.Types.ObjectId,
    time: { type: String},
    count: { type: Number}
});

module.export = mongoose.model('Tweets', tweetSchema);

Ответы [ 3 ]

0 голосов
/ 17 апреля 2019

Попробуйте, используя async/await

exports.get_all_tweets = async (req, res, next) => {
    const result = await Tweets.find()
    res.status(200).json(result);
}
0 голосов
/ 17 апреля 2019

module.exports с 's' в конце:)

0 голосов
/ 17 апреля 2019

проверьте все пути и добавьте новое ключевое слово перед инициализацией схемы

Модель для tweets.js:

const tweetSchema = new mongoose.Schema({
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...