Azure移动应用程序 - 表中间件

时间:2018-03-27 19:27:46

标签: node.js azure azure-mobile-services

我正在使用Azure移动应用程序的节点应用程序。

我有一个Easy Table,其读取操作看起来像这样:

table.read(function (context) {
  context.query.where({ _user_id: context.req.userId });
  return context.execute();
});

现在我想在该函数运行之前添加一些中间件,这会将userId添加到req中,所以我认为我应该做这样的事情:

table.use((req,res,next) => {
  req.userId = "1234";
  next();
}, table.operation);

现在,在table.read内,如果我console.log(context.req.userId)出现正确,但由于某种原因,在添加.use之后,context.query变为未定义。当我离开table.use时,context.query.where({ _user_id: "1234" })效果很好。

我应该如何在Azure移动应用中正确地运行此中间件?为什么定义table.use弄乱context.query

1 个答案:

答案 0 :(得分:0)

尝试在应用程序级别添加中间件:

mobileApp.use((req, res, next) => {
    req.userId = "1234";
    next();
});
mobileApp.tables.import('./tables');
mobileApp.api.import('./api');