我有一个集合,我在其中存储了以下类timestamp
及其最新版本location
:
public class TrackingInfo
{
[JsonProperty("id")]
public string Id { get; set; }
[JsonProperty("_partition_key")]
public string _PartitionKey { get; set; }
[JsonProperty("asset_id")]
public string AssetId { get; set; }
[JsonProperty("unix_timestamp")]
public double UnixTimestamp { get; set; }
[JsonProperty("timestamp")]
public string Timestamp { get; set; }
[JsonProperty("location")]
public Point Location { get; set; }
}
它被划分为_PartitionKey
包含这样的构造:
tracking._PartitionKey = $"tracking_{tracking.AssetId.ToLower()}_{DateTime.Today.ToString("D")}";
看起来没有办法Group by
在集合上做一个。
有人可以帮我创建一个SQL查询文件查找每个最新的条目AssetId
及其Location
与Timnestamp
数据记录时。
更新 1:
如果我将_PartitionKey
每天更改为代表如下,该怎么办:
tracking._PartitionKey = $"tracking_{DateTime.Today.ToString("D")}";
是否可以更轻松地获取所有资产及其最新跟踪记录?
根据我的评论,我的建议是以不同的方式解决您的问题。
假设:您有大量的 assetId 并且事先不知道这些值:
然后做一个查询“xxx 1km内有哪些资产”(查询空间类型)
旁注:使用 assetId 作为 partitionKey 而不是组合键可能是个好主意。使用这样的键对查询非常不利
如果您只有很少的资产 ID,您可以使用它们通过使用和按时间戳字段排序来仅查找最新更新。这只会返回最后一项
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句