我正在使用node.js作为我的服务器,并在我的存储表所在的Azure上拥有一个帐户。我正在使用以下内容检索特定分区的所有记录:
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是访问记录的更好方法,但我有点像嵌套对象和Edm.String一样。
哪种方法可以更好地访问记录?
答案 0 :(得分:1)
Table Node Sample显示了如何根据查询访问表中的实体。请参阅方法“runPageQuery”。
答案 1 :(得分:0)
实际上,根据官方Section: Query a set of entities,有一段如下:
如果成功, result.entries 将包含与查询匹配的实体数组。如果查询无法返回所有实体, result.continuationToken 将为非null,并可用作queryEntities的第三个参数以检索更多结果。
我们还可以在GitHub上的Azure-storage-for-node存储库中引用sample。哪位告诉了我们答案。