x.x не является конструктором - PullRequest
0 голосов
/ 21 мая 2019

Я не могу получить модель для создания нового объекта типа изображения.Вот код, который я использую.

для конечного пункта:

import { picture } from '../models/pictures'
//etc..

pics.post('/upload', (req, res) => {
upload.single('image')(req, res, (err) => {
  if(err){
    return res.status(500).json({ message: err });
  } else {
    if(req.file == undefined){
        return res.status(500).json({ message: 'upload a valid file!' });
    } else {
      var pic = new picture({
        title: req.body.title,
        description: req.body.description,
        filename: req.body.databasepicname,
      });
        res.status(500).json({ message: 'woo!' })
      };
    }
  });

});

для модели:

import mongoose from 'mongoose'
import User from './users'

const pictureSchema = new mongoose.Schema({
    title: {type: String, maxlength: [50, 'Title must be longer than 50 characters']},
    description: {type: String},
    filename: {tpe: String},
    user: {type: mongoose.Schema.Types.ObjectId}
});

var picture = mongoose.model('Picture', pictureSchema);

exports = picture;

Любая помощь с благодарностью.Большое спасибо.

1 Ответ

1 голос
/ 21 мая 2019

В файле модели вы предоставляете экспорт по умолчанию, но в файле конечной точки вы ожидаете именованный экспорт:

// models/pictures.js
export = picture;

// endpoint.js
import { picture } from '../models/pictures';

Попробуйте изменить это на это (используя именованный экспорт в обоих файлах):

// models/pictures.js
export.picture = picture;

// endpoint.js
import { picture } from '../models/pictures';

Или это (с использованием экспорта по умолчанию в обоих файлах):

// models/pictures.js
export = picture;

// endpoint.js
import picture from '../models/pictures';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...