X.x не является конструктором

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

для конца:

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;

Любая помощь приветствуется. Спасибо большое.

что такое хх? Вы можете поделиться всей ошибкой, которую вы получаете?

Mini 21.05.2019 22:38

похоже, вы неправильно экспортируете изображение.

evayly 21.05.2019 22:40
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
2
87
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

// 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';

Ага. Вот оно.

paula.em.lafon 22.05.2019 03:57

Другие вопросы по теме