Este é o site histórico da documentação 4D. As documentações estão sendo movidas progressivamente para developer.4d.com

Página Inicial

 
4D v19.8
collection.query( )

collection.query( ) 


 

collection.query ( argPesq {; valor}{; valor2 ; ... ; valorN}{; querySettings}) -> Resultado 
Parâmetro Tipo   Descrição
argPesq  Texto in Argumento da pesquisa
valor  Mixed in Valores a comparar quando usar placeholders
querySettings  Objeto in Opções de consulta: parâmetros, atributos
Resultado  Collection in Elementos que coincidem com o argumPesq na coleção

O método collection.query( ) devolve todos os elementos de uma coleção que coincidem com as condições de pesquisa definidas por argumPesq e (opcionalmente) valor e querySettings.  Se a coleção original for uma coleção compartida, a coleção devolvida também é uma coleção compartida.

Nota: este método não modifica a coleção original.

O parâmetro argumPesq utiliza a sintaxe abaixo:

propertyPath comparator value {logicalOperator propertyPath comparator value}

Para informação detalhada sobre como construir uma pesquisa usando parâmetros queryString, valor e querySettings, veja a descrição do 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 exemplo devolve a pessoas cujo nome contenha "in":

 $col:=$c.query("name = :1";"@in@")
  //$col=[{name:Winch...},{name:Sterling...}]

Este exemplo devolve as pessoas cujo nome não comece com uma string de uma variável (ingressada pelo usuário, por exemplo):

 $col:=$c.query("name # :1";$aString+"@")
  //if $astring="W"
  //$col=[{name:Smith...},{name:Sterling...},{name:Mark...}]

Este exemplo devolve as pessoas cuja idade não se conhece (propriedade definida como nula ou indefinida):

 $col:=$c.query("age=null") //placeholders não são permitidos com "null"
  //$col=[{name:Wesson...},{name:Sterling...},{name:Mark...}]

Este exemplo devolve as pessoas contratadas há mais de 90 dias:

 $col:=$c.query("dateHired < :1";(Current date-90))
  //$col=[{name:Smith...},{name:Sterling...},{name:Mark...}] if today is 01/10/2018

Nota: este último exemplo requer que esteja marcada a opção de compatibilidade "Utilizar o tipo de data ao invés do formato de data ISO em objetos" (ver Página Compatibilidade).

Mais exemplos de pesquisas podem ser encontrados em dataClass.query( )



Ver também 

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

 
PROPRIEDADES 

Produto: 4D
Tema: Coleções
Número 805267

This command can be run in preemptive processes

 
CONTEÚDO DA PÁGINA 
 
HISTÓRIA 

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

 
ARTICLE USAGE

Manual de linguagem 4D ( 4D v19)
Manual de linguagem 4D ( 4D v19.1)
Manual de linguagem 4D ( 4D v19.4)
Manual de linguagem 4D ( 4D v19.5)
Manual de linguagem 4D ( 4D v19.6)
Manual de linguagem 4D ( 4D v19.7)
Manual de linguagem 4D ( 4D v19.8)