javascript - node.js 回调奇怪的行为

标签 javascript node.js mongodb

我面临奇怪的回调问题。我期望结果返回一些东西,但没有。有人发现我的错误吗?

型号

module.exports.updateStatus = function(updateObj, callback){
    var order_id = updateObj.order_id,
    order_status = updateObj.order_status;
    Order.findOneAndUpdate({"_id": order_id}, {$set: {order_status: order_status}},{new: true});

我的路线

var Orders = require('../models/orders');
router.post('/update_status',function(req,res,next){
  var updateObj = {
    'order_status':req.body.order_status,
    'order_id':req.body.order_id
  }
  Orders.updateStatus(updateObj,function(err,result){
    console.log(result) // nothing been return here
  })

})

我检查了我的数据库,更新实际上工作正常。我愿意

module.exports.updateStatus = function(updateObj, callback){
        var order_id = updateObj.order_id,
        order_status = updateObj.order_status;
        Order.findOneAndUpdate({"_id": order_id}, {$set: {order_status: order_status}},{new: true},function(err,result){
console.log(result)// it work here
});

最佳答案

你永远不会在updateStatus中调用callback,我不明白为什么会调用它。

如果你想调用它,就调用它。

updateStatusfindOneAndUpdate 语句应该是:

Order.findOneAndUpdate(
    {"_id": order_id},
    {$set: {order_status: order_status}},
    {new: true},
    callback
);

关于javascript - node.js 回调奇怪的行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37361997/

相关文章:

javascript - 预计是一个日期 angular.js

c++ - xCode MongoDB Exec 访问错误

javascript - 在表单中使用base64作为文件上传

javascript - 解析来自网站的数据

javascript - C3.js 图表不显示

python - Django-Rest-Framework 端点无法访问我的数据库集合

javascript - 使用 Javascript 变量设置 cookie 域

javascript - 如何配置 puppeteer 以获得包含完整图像和样式的 pdf 页面?

javascript - 无法从 Electron 视频聊天应用程序的第二个窗口中打开视频源(第一个窗口可以正常打开视频源)

javascript - 如何从沃森对话中排除星期日