Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v19.8
collection.query( )
|
collection.query ( cadenaBusq {; valor}{; valor2 ; ... ; valorN}{; params}) -> Resultado | ||||||||
Parámetro | Tipo | Descripción | ||||||
cadenaBusq | Texto |
![]() |
Cadena que contiene los criterios de búsqueda | |||||
valor | Mixed |
![]() |
Valor(es) a comparar al utilizar separador(es) | |||||
params | Objeto |
![]() |
Opciones de búsqueda: parámetros, atributos | |||||
Resultado | Collection |
![]() |
Elementos que responden a los criterios de búsqueda | |||||
El método collection.query( ) devuelve todos los elementos de una colección que coinciden con las condiciones de búsqueda definidas por cadenaBusq y (opcionalmente) valor y params.. Si la colección original es una colección compartida, la colección devuelta también es una colección compartida.
Nota: este método no modifica la colección original.
El parámetro cadenaBusq utiliza la siguiente sintaxis:
propertyPath comparator value {logicalOperator propertyPath comparator value}
Para obtener información detallada sobre cómo crear una consulta utilizando los parámetros cadenaBusq, valor y params consulte la descripción del método dataClass.query( ).
C_COLLECTION($c)
$c:=New collection
$c.push(New object("name";"Cleveland";"zc";35049))
$c.push(New object("name";"Blountsville";"zc";35031))
$c.push(New object("name";"Adger";"zc";35006))
$c.push(New object("name";"Clanton";"zc";35046))
$c.push(New object("name";"Clanton";"zc";35045))
$c2:=$c.query("name = :1";"Cleveland") //$c2=[{name:Cleveland,zc:35049}]
$c3:=$c.query("zc > 35040") //$c3=[{name:Cleveland,zc:35049},{name:Clanton,zc:35046},{name:Clanton,zc:35045}]
C_COLLECTION($c)
$c:=New collection
$c.push(New object("name";"Smith";"dateHired";!22-05-2002!;"age";45))
$c.push(New object("name";"Wesson";"dateHired";!30-11-2017!))
$c.push(New object("name";"Winch";"dateHired";!16-05-2018!;"age";36))
$c.push(New object("name";"Sterling";"dateHired";!10-5-1999!;"age";Null))
$c.push(New object("name";"Mark";"dateHired";!01-01-2002!))
Este ejemplo devuelve la personas cuyo nombre contiene "in":
$col:=$c.query("name = :1";"@in@")
//$col=[{name:Winch...},{name:Sterling...}]
Este ejemplo devuelve las personas cuyo nombre no comienza con una cadena de una variable (ingresada por el usuario, por ejemplo):
$col:=$c.query("name # :1";$aString+"@")
//if $astring="W"
//$col=[{name:Smith...},{name:Sterling...},{name:Mark...}]
Este ejemplo devuelve las personas cuya edad no se conoce (propiedad definida como nula o indefinida):
$col:=$c.query("age=null") //placeholders not allowed with "null"
//$col=[{name:Wesson...},{name:Sterling...},{name:Mark...}]
Este ejemplo devuelve las personas contratadas hace más de 90 días:
$col:=$c.query("dateHired < :1";(Current date-90))
//$col=[{name:Smith...},{name:Sterling...},{name:Mark...}] if today is 01/10/2018
Nota: este último ejemplo requiere que esté marcada la opción de compatibilidad "Utilizar el tipo de fecha en lugar del formato de fecha ISO en objetos" (ver Página Compatibilidad).
Se pueden encontrar más ejemplos de búsquedas en la página dataClass.query( ).
collection.indices( )
dataClass.query( )
entitySelection.query( )
Producto: 4D
Tema: Colecciones
Número
805267
Creado por: 4D v16 R6
Modificado: 4D v17 R5
Manual de lenguaje 4D ( 4D v19)
Manual de lenguaje 4D ( 4D v19.1)
Manual de lenguaje 4D ( 4D v19.4)
Manual de lenguaje 4D ( 4D v19.5)
Manual de lenguaje 4D ( 4D v19.6)
Manual de lenguaje 4D ( 4D v19.7)
Manual de lenguaje 4D ( 4D v19.8)