I am wondering if it is possible in N1QL to sort based on field in array’s. I have docs which hold the definition of filters for my grids and there are 2 arrays, first one is a Array of filters for that grid which has an order key which i would like to use to display these in order. Then each filter has a array of options and each option has an order key which i also would like to use to order options before returning them. Below is a sample of a doc.
{
"id": "",
"_type": "grid_filter",
"name": "Farm Grid Filter",
"grid_guid": "43A4ED59-3515-4A19-B919-863D15A3DCBB",
"filter": [
{
"order": 1,
"enabled": true,
"type": "single",
"label": "Phone",
"options": [
{
"position" : 2,
"value": "",
"name": "No filter",
"selected": true
},
{
"position" : 1,
"value": 1,
"name": "Phone",
"selected": false
},
{
"position" : 0,
"value": 0,
"name": "No Phone",
"selected": false
}
]
},
{
"order": 2,
"enabled": true,
"type": "single",
"label": "E-mail",
"options": [
{
"position" : 0,
"value": "",
"name": "No filter",
"selected": true
},
{
"position" : 2,
"value": 1,
"name": "Has Email",
"selected": false
},
{
"position" : 1,
"value": 0,
"name": "No Email",
"selected": false
}
]
},
{
"order": 3,
"enabled": true,
"type": "single",
"label": "Owner Occupied",
"options": [
{
"position" : 0,
"value": "",
"name": "No filter",
"selected": true
},
{
"position" : 2,
"value": 1,
"name": "Yes",
"selected": false
},
{
"position" : 1,
"value": 0,
"name": "No",
"selected": false
}
]
},
{
"order": 4,
"enabled": true,
"type": "multi",
"label": "Tracts",
"options": [
{
"value": "track1",
"name": "Track 1",
"selected": true
},
{
"value": "track2",
"name": "Track 2",
"selected": false
},
{
"value": "track3",
"name": "Track 3",
"selected": false
},
{
"value": "track4",
"name": "Track 4",
"selected": false
}
]
}
],
"_id": "28205463-5218-4986-800c-22e01cdeef5c"
}