gpt4 book ai didi

c# - 如何使用日期时间字段查询 Azure Cosmos DB 中的对象

转载 作者:行者123 更新时间:2023-12-03 02:49:27 25 4
gpt4 key购买 nike

我们需要使用日期时间字段筛选 Azure Cosmos DB 的对象。对象的结构如下。

{
"nodeId": 3,
"nodeName": "HAVC",
"assetId": 2,
"assetName": "Chiller_02",
"assetMeasurementId": 22,
"assetMeasurementName": "CHL01_WATER_ENTER_TEMP",
"streamId": 0,
"streamName": null,
"deviceId": 4,
"deviceTagId": 48,
"rawTelemetryData": 49,
"observationPropertyId": 1,
"isActive": false,
"enqueueDatetime": "2019-05-31T07:17:45",
"receivedDatetime": "2019-06-03T18:51:16.6684284",
"id": "1e9fe261-5e73-4a64-8921-817a6c601ea0",
"_rid": "PfsxALhViWYWAAAAAAAAAA==",
"_self": "dbs/PfsxAA==/colls/PfsxALhViWY=/docs/PfsxALhViWYWAAAAAAAAAA==/",
"_etag": "\"0000f80f-0000-1800-0000-5cf51e930000\"",
"_attachments": "attachments/",
"_ts": 1559568019
}

在此,我们需要使用“receivedDatetime”字段查询数据,并且我们需要“18:51”到“18:57”之间的数据

在 C# 中,我们使用类似于 LINQ 的语法

var queryable = client.CreateDocumentQuery<TestDto>(
UriFactory.CreateDocumentCollectionUri(DatabaseId, CollectionId),
new { EnableCrossPartitionQuery = true })
.Where(x => x.receivedDatetime >= DateTime.Parse(startDate))
.Where(x => x.receivedDatetime <= DateTime.Parse(endDate))
.OrderBy(x => x.receivedDatetime)
.AsDocumentQuery();

但是我们无法按预期接收数据。如果您能提供一些支持,我们将不胜感激

最佳答案

你可以检查这个 - DateTime, the Epoch and DocumentDb您必须以 ISO-8601 日期/时间格式存储 receiveDatetime

关于c# - 如何使用日期时间字段查询 Azure Cosmos DB 中的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56881155/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com