Джой выдает ошибку при проверке объекта mon goose - - PullRequest
0 голосов
/ 01 марта 2020

Когда я создаю объект типа Contact (который является моделью схемы MongoDB), он выдает странную ошибку, как показано ниже. Моя цель использования Joi для проверки на стороне клиента или входящего запроса.

Здесь auth - это промежуточное ПО, которое проверяет jwt и извлекает идентификатор из jwt.

Показывает странный вид ошибка типа - ** "$ __" не допускается. «isNew» не допускается. «ошибки» не допускаются. "_do c" не допускается. "$ locals" не допускается. «$ op» не допускается **

router.post('/',auth,async (req,res)=>{
try{
// console.log(`contact - ${JSON.stringify(req.body)}`);
let contact = new Contact({
  firstName : req.body.firstName,
  lastName : req.body.lastName,
  email : req.body.email,
  address : req.body.address,
  country : req.body.country,
  isBookMark : req.body.isBookMark,
});
// console.log(`before contact - ${JSON.stringify(contact)}`);
// // contact = {...req.body};
// console.log(`before after - ${JSON.stringify(contact)}`);
contact.userID=req.user.id;
// ?console.log(`contact - ${(contact)}`);

const {error} = validateContact(contact);
console.log(`ERROR - ${error}`);
}
 catch(error){
console.log(`contacts - ${error.message}`);
}

enter image description here

enter image description here

enter image description here

1 Ответ

1 голос
/ 01 марта 2020

Проблема в том, что вы пытаетесь проверить класс схемы mon goose, который имеет свои внутренние свойства. Это то, что вы видите в ошибке. Здесь у вас есть два варианта

  • Вместо передачи объекта контакта, передайте req.body вашей функции проверки.

  • Или извлеките свойства из схемы контакта и передайте этот объект для проверки функции.

Надеюсь, это поможет.

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