2017-06-19 14 views
0

のための別の簡単なテーブルのクエリ私はAzureのアプリケーションのバックエンドで構成された2つの簡単なテーブルがあります:IdServiceName性質Idプッシュ通知メッセージ

  • ServiceDetails

    • Servicesを、ServiceIDServiceDetailDateプロパティ

    新しいServiceDetailsエントリが挿入されるたびに、Push Notifications conを使用してユーザにメッセージを送信したいServiceDetailDateServiceNameについての情報があります。

    私の質問は、どのようにして情報を取得するために別のテーブルをクエリできますか?この場合、ServiceIDServiceDetailsテーブルから)がわかっているので、ServiceNameServicesから取得します。このリクエストを実行するために、ServiceNameserviceInfoオブジェクト(ペイロードメッセージ内)からスクリプトに抽出するためにどのコードを追加する必要がありますか?

    実際に私はqueryとserviceInfoの指示についてよく分かりません。もし私がコードに間違っていたら、私は正しい方向に向けることをためらってください。

    var azureMobileApps = require('azure-mobile-apps'), 
    promises = require('azure-mobile-apps/src/utilities/promises'), 
    logger = require('azure-mobile-apps/src/logger'), 
    queries = require('azure-mobile-apps/src/query'); 
    
    var table = azureMobileApps.table(); 
    
    table.insert(function (context) { 
        var query = queries.create('Services'); 
        var serviceInfo = query.where({'Id': context.item.ServiceID}); 
    
        var payload = '{"messageParam": "Your service -service name- has been added on ' + context.item.ServiceDetailDate + '" }'; 
    
        return context.execute() 
         .then(function (results) { 
          if (context.push) { 
           context.push.send(null, payload, function (error) { 
            if (error) { 
             logger.error('Error while sending push notification: ', error); 
            } else { 
             logger.info('Push notification sent successfully!'); 
            } 
           }); 
          } 
          return results; 
         }) 
         .catch(function (error) { 
          logger.error('Error while running context.execute: ', error); 
        }); 
    }); 
    
    module.exports = table; 
    

    ありがとうございました。

  • 答えて

    1

    ServiceDetails.jsの別の簡単なテーブルを照会するのに、次のコードを使用することができます。

    table.insert(function (context) { 
        return context.tables('Services') 
         .where({ Id: context.item.ServiceID }) 
         .select('ServiceName') 
         .read() 
         .then(function (data) { 
          var message = 'Your service ' + data[0].ServiceName + ' has been added on ' + context.item.ServiceDetailDate; 
          var payload = '{"messageParam": "' + message + '"}'; 
    
          return context.execute().then(function (results) { 
           //.. 
          }); 
         }); 
    }); 
    
    +0

    恐縮です。ありがとうございました。それは動作し、私は時間に私のアプリを終了:) –