Запрос на обновление Mongoose - RangeError: Превышен максимальный размер стека вызовов - PullRequest
0 голосов
/ 30 апреля 2018

Я получаю RangeError: Максимальный размер стека вызовов превысил из простого запроса mongoose, который отлично работает в приложении mongo. Я пытаюсь обновить определенный элемент в массиве из моего документа.

Схема

const UserSchema = new mongoose.Schema({
    username: {
        type: String,
        unique: true,
        required: true,
        trim: true
    },
    discovery: []
})

Маршрут

router.post(
    '/discovery/:page',
    session.requiresLogin,
    (req, res, next) => {
        indexController.discovery(req, res)
    }
)

Контроллер

discovery: (req, res) => {
    userModel.update({
        username: req.session.username,
        'discovery.name': req.params.page
    }, {
        $set: {'discovery.$.status': true}
    }, (err) => {
        if (err) throw err
        res.status(200).send({
            status: err ? 201 : 200,
            msg: err ? 'Error' : 'Success'
        })    
    })
}

Модель

UserSchema.statics.update = (fquery, uquery, callback) => {
    User.update(fquery, uquery, (err) => {
        if (err) return callback(err)
        callback(null)
    })
}

Массив обнаружения - это объект, заполненный name [String] и status [Boolean]

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

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