并非所有模型值都使用 .update() 方法更新

Not all model values updating using .update() method

我有 sails js 0.11v 和 mongodb,当我使用 sails js 的 .update 函数时,除了枚举属性之外,其他所有值都在更新。

这是我的模型

module.exports = {
    schema: true,
    attributes: {
        name: {
            type: 'string',
            required: true
        },
        type: {
            type: 'string',
            required: true,
            enum: ['open', 'user']
        },

        state: {
            type: 'integer',
            enum: [0, 1, 2, 3, 4, 5, 6],
            defaultsTo: 0

        }

    }

};

下面的代码负责更新值

Challenge.update({
    id: '55e81f5998e63e7c1ebe4ab6'
}, {
    state: 2
}, {
    type: 'user'
}).exec(function afterwards(err, updated) {
    if (err) {
        return res.json(err);
    } else {
        return res.json(updated);
    }
});

但它不更新挑战中的类型和状态参数。结果是旧数据

实际上我几分钟前遇到了同样的问题,问题是 .update() 只接受 2 个参数,因此您可以根据以下内容进行编辑:

Challenge.update({id:'55e81f5998e63e7c1ebe4ab6'},{状态:2,类型:'user'}).exec(之后的功能(错误,更新){ 如果(错误){ return res.json(错误); } 别的 { return res.json(已更新); } });

而且有效!