mongodb中调用栈大小超过最大值

Maximum call stack size exceeded in mongodb

本文关键字:最大值 调用 mongodb      更新时间:2023-09-26

我只是在调用一个方法。

调用方法
var message = "Hello"
     function1("78945612387", message, null, "Portalsms")

Node JS Code

 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()    
        }
}

我不知道为什么它给我这个错误。

(超过最大调用栈大小)

我没有递归地调用这个函数。

我的请求呼叫是为了发送短信,响应后,我只想将结果存储在我的mongodb文档"smsLog"中。

我在这里没有使用任何承诺,因为我希望这个方法异步运行。

提前致谢

解决方法:

  1. 不要使用模式实例来插入
  2. 使用普通的JSON对象

请参阅此StackOverflow Q/a