使用 azure-storage 节点库获取属于分区键的最新记录的最佳方法是什么?
What is the best way to get the latest record belonging to a partition key using the azure-storage node library?
有人可以推荐在Node中使用azure-storage库时获取属于分区键的最新记录的最佳解决方案吗?由于没有 .orderBy() 选项...最佳方法是什么?
在 C# 中,我可能会这样做:
var latestRecord = results.OrderByDescending(r => r.Timestamp).FirstOrDefault();
将此节点库用于 Table 存储时,等效项是什么?
我们需要实现自定义比较函数来对结果进行排序。
tableService.queryEntities(tableName, query, null, function(error, result, response) {
if (!error) {
var latestRecord = result.entries.sort((a,b)=>{
return new Date(b.Timestamp._) - new Date(a.Timestamp._);
})[0])
}});
结果用Edm类型装饰,所以我们需要b.Timestamp._
。
Timestamp: { '$': 'Edm.DateTime', _: 2018-10-26T07:32:58.490Z }
如果这种格式令人不快,我们可以从响应中获取没有元数据的实体。需要设置payloadFormat.
tableService.queryEntities(tableName, query, null, {payloadFormat:azure.TableUtilities.PayloadFormat.NO_METADATA},function(error, result, response) {
if (!error) {
var latestRecord = response.body.value.sort((a,b)=>{
return new Date(b.Timestamp) - new Date(a.Timestamp);
})[0]
}});
有人可以推荐在Node中使用azure-storage库时获取属于分区键的最新记录的最佳解决方案吗?由于没有 .orderBy() 选项...最佳方法是什么?
在 C# 中,我可能会这样做:
var latestRecord = results.OrderByDescending(r => r.Timestamp).FirstOrDefault();
将此节点库用于 Table 存储时,等效项是什么?
我们需要实现自定义比较函数来对结果进行排序。
tableService.queryEntities(tableName, query, null, function(error, result, response) {
if (!error) {
var latestRecord = result.entries.sort((a,b)=>{
return new Date(b.Timestamp._) - new Date(a.Timestamp._);
})[0])
}});
结果用Edm类型装饰,所以我们需要b.Timestamp._
。
Timestamp: { '$': 'Edm.DateTime', _: 2018-10-26T07:32:58.490Z }
如果这种格式令人不快,我们可以从响应中获取没有元数据的实体。需要设置payloadFormat.
tableService.queryEntities(tableName, query, null, {payloadFormat:azure.TableUtilities.PayloadFormat.NO_METADATA},function(error, result, response) {
if (!error) {
var latestRecord = response.body.value.sort((a,b)=>{
return new Date(b.Timestamp) - new Date(a.Timestamp);
})[0]
}});