Задать вопрос
SaveLolliPoP
@SaveLolliPoP
1 / 0 = ∞

Почему nodejs выдает ошибку lead.save is not a function?

Нода принимает данные с клиента, обрабатывает и должен сохранить. Но вот досада:
lead.save is not a function

Может быть проблема в схеме mongoose?:
LeadSchema  = new mongoose.Schema({
  leadId: String,
  leadStatus: String,
  firmName: String,
  contactPhones: Array,
  contactName: String,
  position: String,
  contactEmail: String,
  address: String,
  lprsName: String,
  comments: Array,
  tasks: Array,
  link2gis: String,
  createdDate: String
});

exports.Lead = conn.model('Lead', LeadSchema);


Получаемые данные:
{ leadId: '5cef12b4-28f6-6ca7-edd2-c4a242d99986',
  leadStatus: 'attemptCommunicateLPR',
  firmName: '44',
  contactPhones: [ '3434' ],
  contactName: '',
  position: '',
  contactEmail: '',
  address: '43343',
  lprsName: '',
  comments:
   [ { description: '', createdDate: '2019-02-22T20:22:22.789Z' } ],
  tasks:
   [ { status: 'started',
       action: 'meet',
       description: '43434',
       createdDate: '2019-02-22T20:22:22.790Z',
       deadLineDate: '2019-02-26T20:22:36.000Z' } ],
  link2gis: '',
  createdDate: '2019-02-22T20:22:22.790Z' }


Вроде нет, ключи и их типы совпадают.

Сама обработка запроса:

var db = require('../config/index');
.....
router.post('/newLeadOffer', function(req, res) {
    db.Lead.findOne({leadId: req.body.Lead.leadId})
        .then(data => {
            if (data === null) {
                var lead = new db.Lead();
                lead = req.body.Lead;
                console.log(lead);
                lead.save(function(err) { 
                   if (err) { return console.log('Save Lead error ', err); }
                   console.log('Lead added to db');
                   res.send('Лид создан успешно').status(200);
                   return true;
                });
            }
            res.send('Лид с таким ID уже существует');
            return false;
        })
        .catch(err=> {
            console.log('This error: ' + err);
        })
})

Вроде тоже нет. Я полагаю что ошибка в том, что я не указал типы в данные вложенные в массивы. Так ли это?

LeadSchema  = new mongoose.Schema({
  leadId: String,
  leadStatus: String,
  firmName: String,
  contactPhones: [String],
  contactName: String,
  position: String,
  contactEmail: String,
  address: String,
  lprsName: String,
  comments: [{description: String, createdDate: String}],
  tasks: [{
    status: String,
    action: String,
    description: String,
    createdDate: String,
    deadLineDate: String
  }],
  link2gis: String,
  createdDate: String
});


Нет, ошибки продолжаются. Что это может быть?
  • Вопрос задан
  • 95 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы