有没有办法在 table.read 期间从另一个 table 访问数据 - Azure 移动应用程序
Is there a way to access data from another table during table.read - Azure Mobile App
我试图在读取 table 中的数据之前从另一个数据库获取数据。但是,我似乎无法找到正确访问它的方法。
到目前为止,我得到的最好的结果是基于 Microsoft 文档和 Whosebug 上的一些其他示例,但它们似乎都失败了。
table.read(function (context) {
var results = context.tables("table2").read();
var text = results[0].column;
context.query.where({ columnName: text });
return context.execute();
});
执行此操作时出现错误,提示该列不存在。
按照你的描述,如果我没理解错的话,你想在EasyTables脚本中查询table2 in table1操作。
我们可以利用 "use()"
自定义 middleware 来指定 middleware 针对 [=37] 的每个请求执行=] 作为 azure-mobile-apps sdk 在
文档中的描述
例如
var queries = require('azure-mobile-apps/src/query');
var insertMiddleware = function(req,res,next){
var table = req.azureMobile.tables('table2'),
query = queries.create('table2')
.where({ TestProperty : req.body.testproperty });
table.read(query).then(function(results) {
if(results){
req.someStoreData = somehander(results); //some hander operations here to get what you want to store and will use in next step
next();
}else{
res.send("no data");
}
});
};
table.insert.use(insertMiddleware, table.operation);
table.insert(function (context) {
console.log(context.req.someStoreData);
return context.execute();
});
更多示例:
async function filterByAllowedDomain(context) {
var domains = await context.tables('domains')
.where({ allowed: true })
.read();
var categories = await context.tables('categories')
.where(function (ids) {
return this.domainId in ids;
}, domains.map(d => d.id))
.read();
context.query.where(function (ids) {
return this.categoryId in ids;
}, categories.map(c => c.id));
return context.execute(); }
azure-mobile-apps-node sdk 中的 tables
模块包含将 table 添加到 Azure 移动应用程序的功能。它 returns 一个可以附加到 express 应用程序的路由器,具有一些用于注册 table 的附加功能。这实际上利用了 Azure SQL(SQL Azure 上的服务器数据库服务)。
希望对您有所帮助。
我试图在读取 table 中的数据之前从另一个数据库获取数据。但是,我似乎无法找到正确访问它的方法。
到目前为止,我得到的最好的结果是基于 Microsoft 文档和 Whosebug 上的一些其他示例,但它们似乎都失败了。
table.read(function (context) {
var results = context.tables("table2").read();
var text = results[0].column;
context.query.where({ columnName: text });
return context.execute();
});
执行此操作时出现错误,提示该列不存在。
按照你的描述,如果我没理解错的话,你想在EasyTables脚本中查询table2 in table1操作。
我们可以利用 "use()"
自定义 middleware 来指定 middleware 针对 [=37] 的每个请求执行=] 作为 azure-mobile-apps sdk 在
例如
var queries = require('azure-mobile-apps/src/query');
var insertMiddleware = function(req,res,next){
var table = req.azureMobile.tables('table2'),
query = queries.create('table2')
.where({ TestProperty : req.body.testproperty });
table.read(query).then(function(results) {
if(results){
req.someStoreData = somehander(results); //some hander operations here to get what you want to store and will use in next step
next();
}else{
res.send("no data");
}
});
};
table.insert.use(insertMiddleware, table.operation);
table.insert(function (context) {
console.log(context.req.someStoreData);
return context.execute();
});
更多示例:
async function filterByAllowedDomain(context) {
var domains = await context.tables('domains')
.where({ allowed: true })
.read();
var categories = await context.tables('categories')
.where(function (ids) {
return this.domainId in ids;
}, domains.map(d => d.id))
.read();
context.query.where(function (ids) {
return this.categoryId in ids;
}, categories.map(c => c.id));
return context.execute(); }
azure-mobile-apps-node sdk 中的 tables
模块包含将 table 添加到 Azure 移动应用程序的功能。它 returns 一个可以附加到 express 应用程序的路由器,具有一些用于注册 table 的附加功能。这实际上利用了 Azure SQL(SQL Azure 上的服务器数据库服务)。
希望对您有所帮助。