Я пытаюсь подключить свой проект к локальной 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);
}```