由于 Azure 移动应用不提供在表之间创建关系的方法,我决定在我的 Node.js 后端创建一个自定义 API 以从相关表返回数据。这个想法是使用 SQL 在后端实现连接,就像在Mobile Services Doc中解释的那样。
问题是我使用的是新的移动应用程序而不是旧的移动服务,所以上面的代码不再工作了。据我了解,架构从移动服务更改为移动应用程序,Node.js SDK 是一个快速中间件包。所以现在我们利用azure-mobile-apps/src/data模块来处理 sql 操作。
所以我现在必须做这样的事情来从 Node 后端内的自定义 API 中的表中读取:
var queries = require('azure-mobile-apps/src/query');
module.exports = {
"get": function (req, res, next) {
var myTable = req.azureMobile.tables('TableName');
var query = queries.create('TableName');
query.where({'id':req.query.userId});
myTable.read(query).then(function(data){
res.send({ some: data });
});
}
};
但由于 SQL 不再公开,我无法使用 JOIN 命令从相关表中返回数据。我将不得不使用循环和对数据库的许多请求,这违背了目的。
- 有没有办法在新的移动应用 Node.js SDK 上使用 SQL 在后端实现连接?还是有其他更好的方法?
非常感谢你!