Sailsjs Model.update 无法在控制器中工作

Sailsjs Model.update not working in controller

只是一个快速的初学者问题...

是否允许控制器在 Sails 中执行更新?我知道动作路线,但是我无法更新这样的代码。

//controller code (this DOES NOT update)

Packets.update({packet:5},{cron:'locationhistory'})
.then( function(r){
        console.log(r);
    });

这个过程有效,所以我很困惑为什么上面的方法不起作用。

//controller code that does work, however I'm calling a custom function
sails.models.packets.updateMyPacket('locationhistory', 9, function( response ){
        console.log(response);
    });

// model code
updateMyPacket: function( p, num, cb) {
Packets.update({ cron: p}, {packet: num}).then( function( packets){
    cb(packets);
});

}

有人可以帮忙吗?我错过了什么?

谢谢 马特

在您的示例中,您的条件和值在两种不同的方法之间进行了交换。

如果要更新文档,必须使用 set() 函数。

Pets.update({id:1}).set({id:2})

所以现在该文档有 id:2,而之前有 id:1