Funciones
Utilice funciones de plugin en una cláusula filter para filtrar datos y funciones que devuelvan valores numéricos en una cláusula sort para ordenarlos.
Los campos del documento que se usen como parámetros de función deben crearse como índices o propiedades.
multi_attr: Devuelve el valor en una posición específica de un campo de matriz
Uso:
multi_attr(field, pos, default_value=0|"")
Parámetros:
field: Nombre del campo por consultar. El campo debe ser de tipo ARRAY y estar configurado como campo de atributo. pos: Constante entera o campo entero. Si especifica un campo entero, este debe estar configurado como campo de atributo. El índice comienza en 0. default_value (puntuación de ordenamiento): Opcional. Constante de cadena. Se devuelve este valor si no existe ningún valor en la posición especificada.
-
Valor de retorno:
Si el
valueen laposespecificada existe, lafunctiondevuelve elvalueen eseindexde laarray.Si el
valueen laposespecificada no existe y el parámetrodefault_valueno está establecido, lafunctiondevuelve 0.Si el
valueen laposespecificada no existe y el parámetrodefault_valueestá establecido, lafunctiondevuelve eldefault_value.
Escenarios:
Escenario 1: Un producto tiene varios precios (precio de mercado, precio con descuento y precio de venta) almacenados en el campo prices. Busque celulares con un precio de venta menor a 1000.
query=deault:'phone'&&filter=multi_attr(price,2)<1000
Escenario 2: Un producto tiene varios precios (precio de mercado, precio con descuento y precio de venta) almacenados en el campo prices. Ordene los resultados de la query en orden ascendente según el precio con descuento. Si el precio con descuento no existe o el campo prices está empty, utilice un value default de 600.
query=default:'mobile phone'&&sort=+multi_attr(price,1,"600")
-
Notas:
Los campos usados como parámetros de la
functiondeben crearse como propiedades.Encierre el
default_valueentre comillas dobles.