首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我试着运行我的delete API,但是继续获得route.post需要回调函数,但是得到了未定义的对象。

我试着运行我的delete API,但是继续获得route.post需要回调函数,但是得到了未定义的对象。
EN

Stack Overflow用户
提问于 2017-05-26 02:54:21
回答 1查看 39关注 0票数 0

因此,基本上,我正在尝试将我的删除API连接到我的routes.js。我有我的插入、更新、查询以及登录API,所有这些都运行良好,除非我把我的删除API放在它会产生这个错误。

错误: Route.post()需要回调函数,但在路由处得到一个未定义的对象。(匿名函数) as post

Routes.js

代码语言:javascript
复制
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

代码语言:javascript
复制
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();
    });
});
}
}   

我看不出回调函数出了什么问题,因此它返回一个未定义的对象,因为我使用了与我的其他apis相同的格式。任何帮助都是感激的,谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-26 03:00:44

尝试将postCollection大写在module.exports of dbRemove.js中

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44192847

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档