2016-11-03 3 views
0

Я просто вызываю метод.Максимальный размер стека вызовов превышен в mongodb

Вызов метода

var message = "Hello" 
    function1("78945612387", message, null, "Portalsms") 

Node JS код

function function1(mobileno,body,logExtraInfo,messageType){ 
      request(uri, function (error, response, body) { 
       if (response) { 
        db.collection.insertOne(getObjectToSave(uri, mobileno, msg, logExtraInfo, messageType, error, response), function (err, result) { 
         if (err) { 
           console.log(err); 
          // res.status(400).send(err); 
          return; 
         } 
         console.log(result); 
        }); 
       } 
    } 


function getObjectToSave(uri, mobileno, msg, logExtraInfo, messageType, error, response) { 


     return { 
      "uri" : uri, 
      "mobileNo" : mobileno, 
      "message" : msg, 
      "logExtraInfo" : logExtraInfo, 
      "messageType" : messageType, 
      "error" : error, 
      "response" : response, 
      "creationDate": new Date()  
     } 

} 

Я не знаю, почему его дает мне эту ошибку.

(Максимальный размер стека вызовов превышено)

Я не называю эту функцию рекурсивно.

Мой запрос для отправки sms, после ответа я просто хочу сохранить результат в моем документе mongodb «smsLog».

Я не использую никаких обещаний здесь, потому что я хочу, чтобы этот метод выполнялся асинхронно.

Thanx заранее

ответ

0

Проблема может быть решена путем:

  1. Не используйте экземпляр схемы для вставки
  2. Используйте обычный старый объект JSON

См также это StackOverflow Q/A.

+0

По-прежнему он показывает мне ту же ошибку –

Смежные вопросы