BSONObj超过最大嵌套对象深度:200

时间:2019-10-24 10:18:34

标签: javascript node.js mongodb http mongoose

Nodejs Express服务器已启动并运行了两天,然后突然运行。该服务器在执行mongodb上的聚合管道的HTTP请求之一中遇到内部错误。

这是错误

  

MongoError:BSONObj超出了最大嵌套对象深度:200

这将在重新启动服务器后得到解决,但会在一段时间(当前2天)后再次发生

这是聚合代码。

let aggregate = messages.aggregate()
        .match(matchFilter)
        .group({
            _id: '$_id',
            lastSentMessageDateTime: { $first: '$lastSentMessageDateTime' },
            eta: { $first: '$eta' }
        })
        .addFields({
            virtualEta: {
                $cond: { if: { $ifNull: ["$eta", false] }, then: '$eta', else: new Date('1/1/2030') }
            }
        });

因此结果文档中没有嵌套对象。那么此错误具体意味着什么?

希望对此有任何提示或解决方案。

0 个答案:

没有答案