在Couchbase中从动态数组字段中获取数据。

问题描述 投票:0回答:1

我想从一个动态数组字段中获取数据。我的示例文档是

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

请帮助我们,感谢任何建议。注意:目前没有在存储字段中创建索引。

couchbase n1ql
1个回答
0
投票

如果你需要得到的值

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

如果你想根据子字段进行索引和搜索

CREATE INDEX ix1 ON default( DISTINCT ARRAY v.price 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()

© www.soinside.com 2019 - 2024. All rights reserved.