4D v17.4

collection.query( )

Inicio

 
4D v17.4
collection.query( )

collection.query( )  


 

El método collection.query( ) devuelve todos los elementos de una colección que coinciden con las condiciones de búsqueda definidas por cadenaBusq.  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 cadenaBusqvalor, 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

This command can be run in preemptive processes

 
CONTENIDO DE LA PÁGINA 
 
HISTORIA 

 
ARTICLE USAGE

Manual de lenguaje 4D ( 4D v17)
Manual de lenguaje 4D ( 4D v17.1)
Manual de lenguaje 4D ( 4D v17.2)
Manual de lenguaje 4D ( 4D v17.3)
Manual de lenguaje 4D ( 4D v17.4)