Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/reporting-services/3.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
Javascript 如何解决“类型错误:callback.apply不是函数”?_Javascript_Node.js_Mongodb_Mongoose - Fatal编程技术网

Javascript 如何解决“类型错误:callback.apply不是函数”?

Javascript 如何解决“类型错误:callback.apply不是函数”?,javascript,node.js,mongodb,mongoose,Javascript,Node.js,Mongodb,Mongoose,我正在做一个大学项目,我已经阅读了所有关于我的问题的帖子,但我还没有找到解决办法。也许你能帮我 代码如下: update{u id:currentIDViewerVar},{minutesWated:5},{upsert:true},函数err,结果{ 如果犯了错误,就扔出错误; console.logViewer+userNameVar+gespeichert; console.logminsweated+minsweated; }; 你的论点太多了 更改此项: viewerObj.upda

我正在做一个大学项目,我已经阅读了所有关于我的问题的帖子,但我还没有找到解决办法。也许你能帮我

代码如下:

update{u id:currentIDViewerVar},{minutesWated:5},{upsert:true},函数err,结果{ 如果犯了错误,就扔出错误; console.logViewer+userNameVar+gespeichert; console.logminsweated+minsweated;
}; 你的论点太多了

更改此项:

viewerObj.update({_id: currentIDViewerVar} , {minutesWatched: 5},{upsert:true}  , function (err,result) {

      if (err) throw err;
      console.log("Viewer " + userNameVar + " gespeichert");
      console.log("minsWatched" +minsWatched);
});
为此:

viewerObj.update({_id: currentIDViewerVar, minutesWatched: 5}, {upsert:true}, function (err,result) {

      if (err) throw err;
      console.log("Viewer " + userNameVar + " gespeichert");
      console.log("minsWatched" +minsWatched);
});
见文件:


你的论点太多了

更改此项:

viewerObj.update({_id: currentIDViewerVar} , {minutesWatched: 5},{upsert:true}  , function (err,result) {

      if (err) throw err;
      console.log("Viewer " + userNameVar + " gespeichert");
      console.log("minsWatched" +minsWatched);
});
为此:

viewerObj.update({_id: currentIDViewerVar, minutesWatched: 5}, {upsert:true}, function (err,result) {

      if (err) throw err;
      console.log("Viewer " + userNameVar + " gespeichert");
      console.log("minsWatched" +minsWatched);
});
见文件:


如果要更新mongoose文档,则不会将查询作为第一个参数传入

因此,此更新方法需要3个参数
第三个是回调,您传入一个对象{upsert:true},其中update方法需要回调。这就是为什么您得到callback.apply不是一个函数。因为{upsert:true}不是一个函数。

如果要更新mongoose文档,则不会将查询作为第一个参数传入

因此,此更新方法需要3个参数
第三个是回调,您传入一个对象{upsert:true},其中update方法需要回调。这就是为什么您得到callback.apply不是一个函数。仅仅因为{upsert:true}不是一个函数。

在我的例子中,我使用mongoose 5.1.2的聚合方法面临这个问题。在我的案例中,同样的代码也在处理,我使用mongoose 5.1.2的聚合方法来面对这个问题。更新方法必须遵循以下参数:updatedoc、options、callback。您正在传递一个额外的对象。我对mongodb一无所知,但我查看了一些文档以进行更新,它确实看起来您没有正确地使用它。那么,您是否查看了所使用方法的文档?更新方法必须遵循以下参数:updatedoc、options、callback。您正在传递一个额外的对象。我对mongodb一无所知,但我查看了一些文档以进行更新,它确实看起来您没有正确地使用它。那么,您是否查看了所使用方法的文档?