我是 geode 新手。
我添加如下:
gfsh>put --key=('id':'11') --value=('firstname':'Amaresh','lastname':'Dhal') --region=region
Result : true
Key Class : java.lang.String
Key : ('id':'11')
Value Class : java.lang.String
Old Value : <NULL>
当我这样查询时:
gfsh>query --query="select * from /region"
Result : true
startCount : 0
endCount : 20
Rows : 9
Result
-----------------------------------------
('firstname':'A2','lastname':'D2')
HI
Amaresh
Amaresh
('firstname':'A1','lastname':'D1')
World
World
('firstname':'Amaresh','lastname':'Dhal')
Hello
NEXT_STEP_NAME : END
当我尝试像下面这样查询时,我没有得到值:
gfsh>query --query="select * from /region r where r.id='11'"
Result : true
startCount : 0
endCount : 20
Rows : 0
NEXT_STEP_NAME : END
当然我可以使用 get 命令...但我想使用 where 条件...我做错的地方...它没有输出
谢谢
最佳答案
在 Geode 中,键不是“只是另一列”。事实上,基本查询语法隐式地仅查询值的字段。但是,您可以使用以下语法将键包含在查询中:
从 key.id=11 的/region.entries 中选择 value.lastname、value.firstname
此外,在值类中包含 id 字段是相当常见的做法,即使这不是严格要求的。
关于in-memory-database - 晶洞中的条件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33999210/