Ошибка типа: схема не является конструктором.Обновлен мангуст - PullRequest
0 голосов
/ 02 июня 2019

Я пытаюсь подключить свой проект к локальной MongoDB и получаю ошибки при запуске "node app.js".

Я получил сообщение об ошибке из-за версии mongoose: «MongoError: поле« safe »недопустимо для спецификации индекса». Я обновил свои проекты mongoose с 2.5.x до 5.5.x и теперь получаю эту ошибку:

Клиент = новая схема ({ ^

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

  var validator = require('../../lib/validator'),
      Schema    = mongoose.Schema,
      Client;

  Client = new Schema({
    name  :  {
      type     : String,
      validate : [validator({
        length: {
          min : 2,
          max : 100
        }
      }), "name"],
      required : true
    },
    email : {
      type     : String,
      validate : [validator({
        isEmail : true,
        length  : {
          min : 7,
          max : 100
        }
      }), "email"],
      unique   : true,
      required : true
    },
    born  :  {
      type : Date,
      validate : [validator({
        minAge : 18
      }), "born"],
      required : true
    },
    company : {
      type     : String,
      validate : [validator({
        length: {
          min : 5,
          max : 100
        }
      }), "company"],
      required : true
    },
    photo: {
      type    : Boolean,
      default : false
    }
  });

  // similar to SQL's like
  function like(query, field, val) {
    return (field) ? query.regex(field, new RegExp(val, 'i')) : query;
  }

  Client.statics.search = function search(params, callback) {
    var Model = mongoose.model('Client'),
        query = Model.find();


    like(query, 'name', params.name);
    like(query, 'email', params.email);
    like(query, 'company', params.company);

    query.exec(callback);
  };

  Client.statics.findById = function findById(id, callback) {
    var Model = mongoose.model('Client'),
        query = Model.find();

    if (id.length !== 24) {
      callback(null, null);
    } else {
      Model.findOne().where('_id', id).exec(callback);
    }
  };

  return mongoose.model('Client', Client);
}```

1 Ответ

1 голос
/ 02 июня 2019

Я закончил тем, что изменил версию своих проектов mongoose на 3.2.x, и она работает нормально.

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