首页 > 解决方案 > CosmosDB DocumentClient.CreateDocumentQuery 为 ISO 格式的日期字符串返回不正确的结果

问题描述

我有一个 CosmosDB 集合,我将 ISO 格式的日期存储为字符串,例如,我保存了一个start值为 的文档2018-07-26T09:00:00Z,当我查看时,Data Explorer我可以看到正确保存的值。

Cosmonaut用来访问我的 CosmosDB,它公开了DocumentClientCreateDocumentQuery用来访问我的文档,但是当文档从 CosmosDB 返回时,该start值将转换为 DateTime 字符串07/26/2018 09:00:00

var collectionUri = UriFactory.CreateDocumentCollectionUri("assessment-center", "ac-template-timetables");
Document document = await _cosmonautClient.DocumentClient.CreateDocumentQuery(collectionUri, new SqlQuerySpec
{
    QueryText = "SELECT * FROM c WHERE c.id = '713d5115-83cb-4005-abaa-25756ebc86d1'"
}, new FeedOptions { EnableCrossPartitionQuery = true }).FirstOrDefaultAsync();

以上是我的查询,有没有其他人遇到过这个问题,如果是,他们是如何解决这个问题的,我的期望是我的字符串值应该按原样返回,而不是解释为DateTime似乎正在发生的事情

标签: c#azure-cosmosdb

解决方案


推荐阅读