Вы должны быть в состоянии использовать ARRAY_CONTAINS()
.Как правило, вы используете его в своем предложении WHERE
, но вы также можете просто вернуть логическое значение напрямую.В вашем примере вы бы сделали что-то вроде:
SELECT ARRAY_CONTAINS(c.states, "California")
FROM c
Это приведет к чему-то вроде:
[
{
"id": "1",
"key": "USA",
"$1": true
},
{
"id": "2",
"key": "USA",
"$1": false
}
]
Вы также можете вернуть другие свойства вместе с логическим значением:
SELECT c.id, c.key, ARRAY_CONTAINS(c.states, "California")
FROM c
И если вы хотите убедиться, что у вас есть массив, определенный для свойств, которые вы проверяете:
SELECT c.id, c.key, ARRAY_CONTAINS(c.states, "California")
FROM c
WHERE IS_DEFINED(c.states)
Наконец: вы можете использовать псевдоним логического значения, чтобы он возвращал фактическое имя свойства вместо чего-токак $1
:
SELECT c.id, c.key,
ARRAY_CONTAINS(c.states, "California") AS ContainsCalifornia
FROM c
WHERE IS_DEFINED(c.states)
И вы получите что-то вроде:
{
"id": "1",
"key": "USA",
"ContainsCalifornia": true
},
{
"id": "2",
"key": "USA",
"ContainsCalifornia": false
}