2017-05-26 45 views
0

所以基本上我想我删除API连接到我的routes.js。我有我的插入,更新,查询以及登录API,这一切运作良好,除了当我把我删除API它与这个错误出现。我试图运行我删除API,但不断收到route.post需要回调函数,但得到的对象不确定,而不是

错误:Route.post()需要回调函数,但在得到了[对象未定义] 路线(匿名函数)作为后](C:\用户\ tester01_2 \ myproject的\ node_modules \表达\ lib中\路由器\ route.js:202: 15)

Routes.js

var express = require('express'); 
var dbInsert = require('./dbInsert'); 
var dbQuery = require('./dbQuery'); 
var dbUpdate = require('./dbUpdate'); 
var router = express.Router(); 
var account = require('./account'); 
var dbRemove = require('./dbRemove'); 
//var dbImport = require('./dbImport'); 


router.route('/insertRecord').post(dbInsert.postCollection); 
//router.route('/importrecords').post(dbImport.postCollection); 
router.route('/updateRecord').post(dbUpdate.postCollection); 
router.route('/queryRecord').post(dbQuery.postCollection); 
router.route('/login').post(account.postCollection); 
router.route('/deleteRecord').post(dbRemove.postCollection); 
module.exports = router; 

dbRemove.js

var MongoClient = require('mongodb').MongoClient; 
var url = 'mongodb://localhost:27017/myproject'; 
var deleteRecord = function(db, req, callback){ 
db.collection('documents').updateMany({ "SAM ID" : req.body.samId}, { 
    $set: { 
     "Active Status" : "0" 
    } 
    }, function(err,results){ 
     if(err) return callback(err); 
     console.log('Done'); 
     console.log(results); 
     var cursor = db.collection('documents').find({ 
      "SAM ID" : req.body.samId 
     }).toArray(function(err,doc){ 
      if(err) 
       return callback(err); 
      else { 
       console.log('Succesfully deleted'); 
       console.log(doc); 
       return callback(null, JSON.stringify(doc)); 
      } 
     }); 
    } 
); 
}; 
module.exports = { 
postcollection : function(req, res){ 
    var samId = req.body.samId; 
    MongoClient.connect(url, function(err, db) { 
    if(err){ 
     res.send(err); 
     res.end(); 
    } 
    deleteRecord(db, req, function(err, doc){ 
     if(err){ 
      res.send(err); 
     } else{ 
      setTimeout(function(){ 
       res.send(doc); 
       res.end(); 
      }, 2000); 
     } 
     db.close(); 
    }); 
}); 
} 
} 

似乎不是我能到什么地方出了问题的回调函数,它返回一个未定义的对象,因为我使用了相同的格式,我的其他的API。任何帮助表示感谢,谢谢!

回答

1

尝试在您的module.exports中使用大写postCollection dbRemove.js

+0

Omg非常感谢很多人!我没有看到我在代码中犯的小错误。 –

相关问题