全部產品
Search
文件中心

:multi_attr

更新時間:Jul 13, 2024

功能函數項

外掛程式功能函數可以用在filter子句作為過濾和篩選條件,而傳回值為數值型的功能函數在sort子句中,用來做排序。

其中功能函數參數出現的文檔欄位需根據對應函數文檔提示,建立為索引或屬性.

multi_attr : 返回數組欄位指定位置的值

1.詳細用法:

multi_attr(field, pos, default_value=0|””)

2.參數:

field: 查詢的欄位名,必須為ARRAY數群組類型,且必須配置為屬性欄位pos: 整型常數或整型欄位,需要配置為屬性欄位,下標從0開始。default_value(排序得分):可選,字串常量,表示如果指定pos的值不存在時,返回default_value。

3.傳回值:

  • 當指定pos的值存在時,返回對應數組pos下標位置的值;

  • 當指定pos的值不存在時並且沒有設定default_value參數時,返回0;

  • 當指定pos的值不存在時並且設定default_value參數時,返回default_value值;

4.適用情境:

情境1:商品有多個價格[市場價、折扣價、銷售價],存到prices欄位中。查詢銷售價小於1000的手機

query=deault:'手機'&&filter=multi_attr(price,2)<1000

情境2:商品有多個價格[市場價、折扣價、銷售價],存到prices欄位中。查詢出來的結果排序按折扣價升序排序,如果折扣價不存在或prices欄位為空白,則賦予預設值600。

query=deault:'手機'&&sort=+multi_attr(price,1,"600")

5.注意事項:

  • 函數參數依賴欄位需建立為屬性;

  • 當設定default_value時,需要將具體的內容放在雙引號中;