Este es el sitio web histórico de la documentación de 4D. La documentación se está trasladando progresivamente a developer.4d.com

Inicio

 
4D v19.8
collection.query( )

collection.query( ) 


 

collection.query ( cadenaBusq {; valor}{; valor2 ; ... ; valorN}{; params}) -> Resultado 
Parámetro Tipo   Descripción
cadenaBusq  Texto in Cadena que contiene los criterios de búsqueda
valor  Mixed in Valor(es) a comparar al utilizar separador(es)
params  Objeto in Opciones de búsqueda: parámetros, atributos
Resultado  Collection in 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( ).



Ver también 

collection.indices( )
dataClass.query( )
entitySelection.query( )

 
PROPIEDADES 

Producto: 4D
Tema: Colecciones
Número 805267

This command can be run in preemptive processes

 
CONTENIDO DE LA PÁGINA 
 
HISTORIA 

Creado por: 4D v16 R6
Modificado: 4D v17 R5

 
ARTICLE USAGE

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)