mongoose TypeError: схема не является конструктором

я столкнулся со странной вещью. У меня есть несколько моделей мангустов - и в одной из них (только в одной!) Я получаю эту ошибку:

TypeError: Schema is not a constructor

Я нахожу это очень странным, так как у меня есть несколько рабочих схем. Я пробовал logging mongoose.Schema в нерабочей схеме, и это действительно отличается от Мангуста.Схема в моих рабочих схемах-как это возможно? Код почти идентичен. Вот код для нерабочей схемы:

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var errSchema = new Schema({
  name: String,
  images:[{
    type:String
  }],
  sizes:[{
    type: String
  }],
  colors:[{
    type: Schema.ObjectId,
    ref: 'Color'
  }],
  frontColors:[{
    type: Schema.ObjectId,
    ref: 'Color'
  }],
  script: Boolean
},{
  timestamps: true
});

var Err = mongoose.model('Err', errSchema);

module.exports = Err;

код для работы схема:

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var colorSchema = new Schema({
  name: String,
  image: String,
  rgb: String,
  comment: String,
});

var Color = mongoose.model('Color', colorSchema);

module.exports = Color;

любая помощь будет оценили!

3 ответов


Он должен быть!--0-->, а не Schema.ObjectId: http://mongoosejs.com/docs/schematypes.html


я столкнулся с тем же самым. У меня есть предыдущий код такой

    var mongoose = require('mongoose');
    var Schema = mongoose.Schema();
    var schema = new Schema({
        path : {type:string , required:true},
        title: {type:string , required: true}
    })
 module.export = mongoose.model('game', schema);

затем я решил проблему конструктора, используя следующий скрипт

   var mongoose = require('mongoose');
    var schema = mongoose.Schema({
        path : {type:string , required:true},
        title: {type:string , required: true}
    })
 module.export = mongoose.model('game', schema);

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

const mongoose = require('mongoose');
const Scheme = mongoose.Schema;

const ItemSchema = new Scheme({
    name: {
        type: String,
        require: true
    },
    date: {
        type: Date,
        default: Date.now
    }
});

module.exports = Item = mongoose.model('Item', ItemSchema);