如何解析节点js中azure表的结果

时间:2016-06-23 13:10:30

标签: javascript json node.js azure

我想知道如何在Azure中使用Easy API在azure中进行查询后解析结果?对我来说,似乎在函数(结果)中创建一个objet会导致无限循环,最后返回httpcode 500。 请帮忙。必须有一种方法来解析结果,将其存储在Javascript对象中,然后将结果作为Json返回。

var azureMobileApps = require('azure-mobile-apps');
var queries = require('azure-mobile-apps/src/query');

var api = {
        get: (req, res, next) => {
          if(Object.keys(req.query).length === 0) {
            res.status(400).type('text/plain').send("Error! Please add event id");
            return;
          }

        if(req.query.eventId === 'undefined' || req.query.eventId.length === 0) {
            res.status(400).type('text/plain').send("Error! missing eventId parameter");
            console.log("worked!");
            return;      
        }
        var query = {
            sql: 'Select .... where eventId=@eventId'
            ,
            parameters: [
                { name: 'eventId', value: req.query.eventId }
            ]
        };

        req.azureMobile.data.execute(query)
            .then(function (results) {
                TODO: here! Parse results, add properties to objects and then return that instead!
                res.status(200).type('application/json').send({sessions: results});
            },function(error){
                console.log('Found an error: ', error);
            });
    }
};

api.get.access = 'authenticated';
module.exports = api;

1 个答案:

答案 0 :(得分:2)

您的代码段没有任何问题。在node.js后端移动应用程序中,phaddw返回查询结果的数组列表。以下是Azure开发团队提供的GitHub https://github.com/Azure/azure-mobile-apps-node/blob/master/samples/custom-api-sql-stmt/api/completeall.js上的代码示例。

Node.js中的Mobile App基于Expressjs框架。您只需使用req.azureMobile.data.execute(query)直接返回json响应。

另外,对于您的问题,通常,stmt异常会引发您的问题。在查询数据之前,请仔细检查res.json(obj)对象是否正确。

您可以使用Visual Studio Team Services(Visual Studio Online)来解决nodejs后端移动应用程序。

任何进一步的观点,请随时告诉我。