WITH k AS ( "HRRRE_mem3")
SELECT RAW m.primaryOrders.[k].m_order
FROM mdata AS m USE KEYS "fred-125";
$k is query parameters
SELECT RAW m.primaryOrders.[$k].m_order
FROM mdata AS m USE KEYS "fred-125";
INSERT INTO default VALUES("f1", {"a":"b", "b":10});
SELECT d.[d.a] AS val
FROM default AS d USE KEYS "f1";
This how map/dictionary access via N1QL
d.[d.a] ===> becomes d.[“b”] ===> d.b
===> returns value 10
As u see in syntax there array bracket after . and expression inside the array brackets
It evaluates expression in array brackets. It must evaluate to string
.[“b”] treats as if b is field name in the object.
Here from two keys construct object from original document
WITH ks AS ([ "HRRRE_mem3", "HRRRE_mem4"])
SELECT RAW OBJECT v:m.primaryOrders.[v].m_order FOR v IN ks END
FROM mdata AS m USE KEYS "fred-125";
Complex example can be found here Merge into seems to not work correctly