I’m new to dragonfly (and redis too).
I use dragonfly on windows 11 and docker. On docker, i compare dragonfly latest and redis 8.6. I use a windows client version 6 to acces this containers.
The jsonPath filter ?() seems not implemented.
On Dragonfly and Redis
127.0.0.1:6379> JSON.SET store:1 $ ‘{ “name”: “Tech Store”, “products”: [ {“id”: 1, “name”: “Laptop”, “price”: 999, “category”: “electronics”, “inStock”: true}, {“id”: 2, “name”: “Mouse”, “price”: 29, “category”: “electronics”, “inStock”: true}, {“id”: 3, “name”: “Desk”, “price”: 299, “category”: “furniture”, “inStock”: false}, {“id”: 4, “name”: “Monitor”, “price”: 399, “category”: “electronics”, “inStock”: true} ]}’
OK
On redis filter expression works.
127.0.0.1:6379> JSON.GET store:1 ‘$.products[?(@.price > 100)]’
“[{“id”:1,“name”:“Laptop”,“price”:999,“category”:“electronics”,“inStock”:true},{“id”:3,“name”:“Desk”,“price”:299,“category”:“furniture”,“inStock”:false},{“id”:4,“name”:“Monitor”,“price”:399,“category”:“electronics”,“inStock”:true}]”
On Dragonfly
127.0.0.1:6379> JSON.GET store:1 ‘$.products[?(@.price > 100)]’
(error) ERR syntax error
Is it a bug or filter expressio not implemented ?
I know that all redis is not implemented server side, where can i find what is implemented or is still to implement.
Thank’s