Azure存储表查询 – 结果与响应

我使用node.js作为我的服务器,并在我的存储表所在的Azure上拥有一个帐户。 我正在使用以下方法检索特定分区的所有logging:

var query= new azure.TableQuery().where('PartitionKey eq ?',username); tableSvc.queryEntities(localTableName,query, null, function(error, result, response) { 

}

当这个调用返回时,我想访问表的其余部分的值。 但是,当我使用result.entries这样做,它看起来有点怪异。 或者我想我可以通过response.body.value.userID访问结果。

下面是“result.entries”和“response”对象的结构:

  result.entries : [ { PartitionKey: { '$': 'Edm.String', _: '048tfbne' }, RowKey: { '$': 'Edm.String', _: '145610564488450166' }, Timestamp: { '$': 'Edm.DateTime', _: Mon Feb 22 2016 01:47:26 GMT+0000 (UTC) }, username: { _: '048tfbne' }, userID: { _: '145610564488450166' }, deleteAfter: { _: 'not set yet' }, '.metadata': { etag: 'W/"datetime\'2016-02-22T01%3A47%3A26.4394133Z\'"' } } ] response : { isSuccessful: true, statusCode: 200, body: { 'odata.metadata': 'https://photoshareuserdata.table.core.windows.net/$metadata#userIdentifier', value: [ { 'odata.etag': 'W/"datetime\'2016-02-22T01%3A47%3A26.4394133Z\'"', PartitionKey: '048tfbne', RowKey: '145610564488450166', Timestamp: '2016-02-22T01:47:26.4394133Z', username: '048tfbne', userID: '145610564488450166', deleteAfter: 'not set yet' } ] }, 

我认为results.entries将是一个更好的方式来访问logging,但我有点在这里嵌套的对象和Edm.String。

哪一种更好的方式来访问logging?

表节点示例显示如何作为查询的结果访问表中的实体。 请参阅方法“runPageQuery”。

实际上,根据官方章节:查询一组实体 ,有一段如下:

如果成功, result.entries将包含与查询相匹配的实体数组。 如果查询无法返回所有实体,则result.continuationToken将为非null,可用作queryEntities的第三个参数来检索更多结果。

而且我们也可以参考GitHub上的Azure-storage-for-node版本库中的示例 。 哪个已经告诉了我们答案。