Dies ist die alte 4D Dokumentations-Website. Die neue und aktualisierte Dokumentation finden Sie unter developer.4d.com

Home

 
4D v19.8
collection.query( )

collection.query( ) 


 

collection.query ( queryString {; value}{; value2 ; ... ; valueN}{; querySettings}) -> Funktionsergebnis 
Parameter Typ   Beschreibung
queryString  Text in Suchkriterium
value  Mixed in Wert(e) zum Vergleichen bei Platzhalter(n)
querySettings  Objekt in Suchoptionen: parameters, attributes
Funktionsergebnis  Collection in Zu queryString passende Element(e) in der Collection

Die Funktion collection.query( ) gibt alle Elemente einer Collection zurück, die zu den Suchbedingungen in queryString passen. Ist die ursprüngliche Collection eine shared collection, ist die zurückgegebene Collection ebenfalls eine shared collection.

Hinweis: Diese Funktion ändert nicht die ursprüngliche Collection.

Der Parameter queryString verwendet folgende Syntax:

propertyPath comparator value {logicalOperator propertyPath comparator value}

Weitere Informationen zu den Parametern queryString und value finden Sie unter der Methode 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!))

Dieses Beispiel gibt Personen zurück, deren Name "in" enthält:

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

Dieses Beispiel gibt Personen zurück, deren Name nicht mit dem String aus einer Variablen beginnt (beispielsweise vom Benutzer eingegeben):

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

Dieses Beispiel gibt Personen zurück, deren Alter unbekannt ist (Eigenschaft ist auf null oder undefiniert gesetzt):

 $col:=$c.query("age=null") //Platzhalter mit "null" nicht erlaubt
  //$col=[{name:Wesson...},{name:Sterling...},{name:Mark...}]

Dieses Beispiel gibt Personen zurück, die vor mehr als 90 Tagen eingestellt wurden:

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

Hinweis: Für das letzte Beispiel muss in den Datenbankeigenschaften die Option Verwende Datumstyp statt ISO Datumsformat in Objekten markiert sein (siehe Seite Kompatibilität).

Weitere Beispiele für Suchläufe finden Sie auf der Seite dataClass.query()



Siehe auch 

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

 
EIGENSCHAFTEN 

Produkt: 4D
Thema: Collections
Nummer: 805267

Dieser Befehl kann in preemptive Prozessen laufen

 
SEITENINHALT 
 
GESCHICHTE 

Erstellt: 4D v16 R6
Geändert: 4D v17 R5

 
ARTIKELVERWENDUNG

4D Programmiersprache ( 4D v19)
4D Programmiersprache ( 4D v19.1)
4D Programmiersprache ( 4D v19.4)
4D Programmiersprache ( 4D v19.5)
4D Programmiersprache ( 4D v19.6)
4D Programmiersprache ( 4D v19.7)
4D Programmiersprache ( 4D v19.8)