Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Sailsjs Model.update在控制器中不工作_Node.js_Sails.js_Waterline - Fatal编程技术网

Node.js Sailsjs Model.update在控制器中不工作

Node.js Sailsjs Model.update在控制器中不工作,node.js,sails.js,waterline,Node.js,Sails.js,Waterline,只是一个简单的初学者问题 是否允许控制器在SAIL中执行更新?我知道动作路线是这样的,但是我无法得到这样的代码来更新 //controller code (this DOES NOT update) Packets.update({packet:5},{cron:'locationhistory'}) .then( function(r){ console.log(r); }); 这个过程是有效的,所以我不明白为什么上面的方法不行 //controller code

只是一个简单的初学者问题

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

//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);
});
}

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

谢谢
Matt

在您的示例中,您的标准和值在两种不同的方法之间交换。

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

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


因此,现在该文档的id为:2,而以前的id为:1

您是否收到了任何类型的错误,可以共享?完全没有错误,只是不更新。这就是我被难倒的原因。我正在使用mongo,这并不重要,但即使尝试使用id,我在那里也没有运气。嘿@Matt只是想让你知道Sails.js确实有一个Gitter页面,以防你感兴趣。我在那里找到了一些帮助,我对编码非常陌生。谢谢你,乔。我正在检查。你完全正确,我修改了它,它工作了。你知道为什么这很重要吗?显然是偶然的,尽管很高兴知道,但我需要了解潜在的规则可能是什么。我感谢你的帮助。第一个论点是限制更新内容的标准。因此,在第一个示例中,您正在用
packet=5
更新每个记录上的
cron===
locationhistory``。当您切换到正在更新
packet=5
的每个记录时,其中
cron===“locationhistory”
签出