Получение данных из поля массива Dynami c в Couchbase - PullRequest
0 голосов
/ 08 мая 2020

Я хочу получить данные из поля массива c Dynami. Мой образец do c is

Document1:[
“Docid” : 11111,
"store": {
      “100”: {
        "istock": false,
        "price": 0
      },
      "289": {
        "inStock": false,
        "price": 0
      },
      "1561": {
        "inStock": false,
        "price": 0
      }, 
   }]

пожалуйста, помогите. любые предложения приветствуются. ПРИМЕЧАНИЕ: в настоящее время в поле магазина нет индекса.

1 Ответ

0 голосов
/ 08 мая 2020

Если вам нужно получить значение

SELECT d.store.`100`.price, d.store.`100`.inStock
FROM default AS d
WHERE ....;

Если вы хотите индексировать и искать на основе подполей

СОЗДАТЬ ИНДЕКС ix1 ПО по умолчанию (РАЗЛИЧНЫЙ МАССИВ v. Цена FOR v IN OBJECT_VALUES (store) END);

SELECT d.*
FROM default AS d
WHERE ANY v IN OBJECT_VALUES(d.store) SATISFIES v.inStock = true END;

Оформить заказ OBJECT_PAIRS (), OBJECT_NAMES (), OBJECT_VALUES ()

...