Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.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 EXPRESS:Router.use()需要一个中间件函数,但得到了一个对象_Javascript_Mongodb_Express_Ecmascript 6 - Fatal编程技术网

Javascript EXPRESS:Router.use()需要一个中间件函数,但得到了一个对象

Javascript EXPRESS:Router.use()需要一个中间件函数,但得到了一个对象,javascript,mongodb,express,ecmascript-6,Javascript,Mongodb,Express,Ecmascript 6,每当我尝试使用app.use()初始化路由时,从我的路由目录调用路由器时出错。我得到的错误是Router.use()需要一个中间件函数,但得到了一个对象。我读到这可能是由于我没有正确导出模块。然而,我不确定我下面的代码到底出了什么问题 错误: Users/name/Desktop/personal/app/server/src/node_modules/express/lib/router/index.js:458 throw new TypeError('Router.use()

每当我尝试使用
app.use()
初始化路由时,从我的路由目录调用路由器时出错。我得到的错误是Router.use()需要一个中间件函数,但得到了一个对象。我读到这可能是由于我没有正确导出模块。然而,我不确定我下面的代码到底出了什么问题

错误:

Users/name/Desktop/personal/app/server/src/node_modules/express/lib/router/index.js:458
      throw new TypeError('Router.use() requires a middleware function but got a ' + gettype(fn))
      ^

TypeError: Router.use() requires a middleware function but got a Object
    at Function.use (/Users/name/Desktop/personal/app/server/src/node_modules/express/lib/router/index.js:458:13)
    at Function.<anonymous> (/Users/name/Desktop/personal/app/server/src/node_modules/express/lib/application.js:220:21)
    at Array.forEach (<anonymous>)
    at Function.use (/Users/name/Desktop/personal/app/server/src/node_modules/express/lib/application.js:217:7)
    at module.exports (/Users/name/Desktop/personal/app/server/src/routes/router.js:18:7)
    at Object.<anonymous> (/Users/name/Desktop/personal/app/server/src/app.js:60:1)
    at Module._compile (module.js:660:30)
    at loader (/Users/name/Desktop/personal/app/server/node_modules/babel-register/lib/node.js:144:5)
    at Object.require.extensions.(anonymous function) [as .js] (/Users/name/Desktop/personal/app/server/node_modules/babel-register/lib/node.js:154:7)
    at Module.load (module.js:573:32)
    at tryModuleLoad (module.js:513:12)
    at Function.Module._load (module.js:505:3)
    at Function.Module.runMain (module.js:701:10)
    at Object.<anonymous> (/Users/name/Desktop/personal/app/server/node_modules/babel-cli/lib/_babel-node.js:154:22)
    at Module._compile (module.js:660:30)
    at Object.Module._extensions..js (module.js:671:10)
[nodemon] app crashed - waiting for file changes before starting...

错误给出了详细信息

at module.exports(/Users/name/Desktop/personal/app/server/src/routes/router.js:18:7)

app.use('/feed',feed)


feed
这里是一个对象,而不是一个函数

使用CreateIndex:true连接到提供url的mongodb时

显然,
feed
不是一个函数。这个问题是关于expressjs的,不是关于mongodb的。
import express from 'express'
import feed from '../controllers/feed.controller'
import file from '../controllers/file.controller'
import flight from '../controllers/flight.controller'

module.exports = function (app) {

  // Initializing route groups
  const feedRoutes = express.Router(),
    fileRoutes = express.Router(),
    flightRoutes = express.Router(),
    indexRoutes = express.Router();

  //= ========================
  // Feed Routes
  //= ========================//

  app.use('/feeds', feed);

  app.use('/downloads', feed);

  // Find all feeds
  feedRoutes.get('/', feed.list_all_feeds);

  // Find one feed
  feedRoutes.get('/:id', feed.list_one_feed);

  // Find one Audience
  feedRoutes.get('/:id/:audienceId', feed.list_one_feed_audience);

  // Download one Feed
  feedRoutes.get('/:id/download', feed.download_one_feed);

  //= ========================
  // File Routes
  //= ========================//

  app.use('/files', file);

  // Find all files
  fileRoutes.get('/', file.list_all_files);

  // Find one file
  fileRoutes.get('/:id', file.list_one_file);

  //= ========================
  // Flight Routes
  //= ========================//

  app.use('/flights', flight);

  // Find all flights
  flightRoutes.get('/', flight.list_all_flights);

  // Find one flight
  flightRoutes.get('/:id', flight.list_one_flight);

  //= ========================
  // Index Routes
  //= ========================//

  app.use('/', index);

  // Set Main index Route
  indexRoutes.get('/', function(req, res, next) { res.render('index', { title: 'Express', layout: 'layout.hbs' }) });
}