Hi
If we have documents like the following for each user :
userDoc:7
{
"1": {
"filter": 1,
"product": [
{
"name": "name5",
"id":5,
"sendSMS": true
},
{
"name": "name2",
"id":2,
"sendSMS": true
}
]
},
"4": {
"filter": 4,
"products": [
{
"name": "name1",
"id":1,
"sendSMS": true
},
{
"name": "name2",
"id":2,
"sendSMS": false
}
]
},
"5": {
"filter": 5,
"products": [
{
"name": "name1",
"id":1,
"sendSMS": false
},
{
"name": "name3",
"id":3,
"sendSMS": true
}
]
}
}
userDoc:5
{
"6": {
"filter": 6,
"products": [
{
"name": "name8",
"id":8,
"sendSMS": true
},
{
"name": "name3",
"id":3,
"sendSMS": false
}
]
},
"9": {
"filter": 9,
"products": [
{
"name": "name11",
"id":11,
"sendSMS": false
},
{
"name": "name2",
"id":2,
"sendSMS": false
}
]
},
"5": {
"filter": 5,
"product": [
{
"name": "name2",
"id":2,
"sendSMS": false
},
{
"name": "name6",
"id":6,
"sendSMS": true
}
]
}
}
How to get data whose SMS is false for each user?
Is it possible to index json nested data?
FT.CREATE filter ON JSON PREFIX 1 "userDoc:" SCHEMA $.[*].products.[*].sendSMS as send_sms TEXT
FT.SEARCH json_watchlist *
The above command returns the value zero.
And these commands return this result
FT.CREATE filter ON JSON PREFIX 1 "userDoc:" SCHEMA $.[6].products.[*].sendSMS as send_sms TEXT
FT.SEARCH json_watchlist *
1) (integer) 3
2) "userDoc:5"
3) 1) "$"
2) "{\"6\":{\ ...........
My data changes every few minutes and may not have id 6.
Other commands return empty array or (integer) 0
FT.SEARCH json_watchlist "@send_sms:(false)"