Azure cosmosdb 无法保存值类似于Azure Cosmos DB Graph中的日期的属性(Gremlin)

Azure cosmosdb 无法保存值类似于Azure Cosmos DB Graph中的日期的属性(Gremlin),azure-cosmosdb,Azure Cosmosdb,我正在尝试保存一个属性值,该属性值看起来类似于某个日期或某个日期的一部分,在Azure Cosmos DB中使用Graph API(Gremlin)时会出现如下错误: g.V('id').property('PartReference', '2016-02'); 错误消息 Gremlin Query Compilation Error: Data type 'Date' not yet supported by Binary Comparison functions 在我看来,Gremlin

我正在尝试保存一个属性值,该属性值看起来类似于某个日期或某个日期的一部分,在Azure Cosmos DB中使用Graph API(Gremlin)时会出现如下错误:

g.V('id').property('PartReference', '2016-02');
错误消息

Gremlin Query Compilation Error: Data type 'Date' not yet supported by
Binary Comparison functions

在我看来,Gremlin或Cosmos DB似乎在试图猜测数据类型并将其弄错?

在撰写本文时,Azure的graph API只关心三种类型的数据:bool、string和number。在此过程中,您应该能够将任何复杂的或上下文相关的数据转换为它的原始表示形式,并绕过它们的这种乐趣


对于日期和时间数据,我已经决定使用记号,它可以保存为可过滤的数字,我不同意它只关心bool、string和number,因为它显然试图将日期字符串作为日期处理。我遇到了这个问题,我已序列化到ISO,并在几秒钟内返回了美国格式

我确实同意目前的工作是使用ticks,我已经切换到ticks,希望当这个问题解决后,我可以重新处理数据并返回ISO格式


我没有尝试过gremlin.net api,这可能会一致地处理日期。

能否提供有关如何执行查询的更多详细信息?这是通过门户、Microsoft.Azure.Graphs还是使用gremlin驱动程序客户端实现的?我使用的是NugetCosmosDB的.NET SDK,它肯定会尝试对日期进行一些时髦的操作。我喜欢将日期保存为ISO字符串,因为它们是可排序的,但CosmosDB总是将我的日期字符串更改为某种格式:
MM/dd/yyyy hh:MM:ss
cc@OliverTowers@DejanJanjušević也有同样的问题。你有没有找到一个正确设定日期的方法?@LionelD我没有找到一个方法。相反,我使用了一种变通方法,将日期保存为以“#”字符开头的字符串。保存DateTime类型时,我在该字符前加前缀,在从数据库解析DateTime值时,我解析不带该字符的字符串。但下面用勾号表示的解决方案似乎更好。我同意。使用UnixDateTimeConverter类可以轻松完成此操作。在DateTime属性上添加以下属性:[JsonConverter(typeof(UnixDateTimeConverter))]它应该可以做到这一点