简体   繁体   English

根据日期查询 Cosmos Db 的 Gremlin 语法

[英]Gremlin Syntax to Query Cosmos Db Based on date

Could you please guide me on how to write a gremlin query that will return only projects that have started past a specific date?您能否指导我如何编写一个 gremlin 查询,该查询将仅返回已开始超过特定日期的项目?

My first query returns all project vertices within program05:我的第一个查询返回 program05 中的所有项目顶点:

gV('program05').has('partitionkey', 'program05').out('hasprojects') gV('program05').has('partitionkey', 'program05').out('hasprojects')

I would like to filter it down to return only projects that have started after '20/19/2018 4:37:12 PM' , a program vertex has a propertt of startDate我想对其进行过滤以仅返回在 '20/19/2018 4:37:12 PM' 之后开始的项目,程序顶点具有 startDate 属性

I have tried :我试过了 :

gV('program05').has('partitionkey', 'program05').out('hasprojects').has('startDate').has('startDate',gt, '20/19/2018 4:37:12 PM') gV('program05').has('partitionkey', 'program05').out('hasprojects').has('startDate').has('startDate',gt, '20/19/2018 4:37:中午 12 点')

but i get an Error: Unable to resolve symbol 'lt' in the current context.但我收到一个错误:无法在当前上下文中解析符号“lt”。 I have tried other opions too with no luck我也尝试过其他选项但没有运气

The predicate logic ( javadoc ) for strings seems to work based on ASCII values of the string, so your current storage of the date in text format will not work month over month.字符串的谓词逻辑 ( javadoc ) 似乎基于字符串的 ASCII 值工作,因此您当前以文本格式存储日期将无法逐月工作。

I would suggest storing that as epoch seconds and then using the following query to get that data you want.我建议将其存储为纪元秒,然后使用以下查询来获取您想要的数据。

Assuming you meant the date 2/19/2018 4:37:12 PM假设您指的是2/19/2018 4:37:12 PM2/19/2018 4:37:12 PM

g.V() 
 .has('partitionkey','program05')
 .out('hasprojects')
 .has('startDate',P.gt(1519058232))

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM