Constructor
new EntityQuery(entityDefinition)
Construction d'une requête sur entité.
Ce constructeur ne doit jamais être appelé directement,
utilisez EntityDefinition#match
Parameters:
Name | Type | Description |
---|---|---|
entityDefinition |
EntityDefinition | La définition de l'entité |
- Source:
Members
(static) HARD_LIMIT_GRAB :number
Limite max qui sera imposée à grab
Type:
- number
- Source:
entity :EntityDefinition
La définition de l'entité
Type:
- Source:
Methods
between(from, to) → {EntityQuery}
Fait correspondre les enregistrement dont la valeur d'index est comprise
entre deux valeurs.
Parameters:
Name | Type | Description |
---|---|---|
from |
String | Integer | Date | La valeur de la borne inférieure |
to |
String | Integer | Date | La valeur de la borne supérieure |
- Source:
Returns:
La requête (pour chaînage)
- Type
- EntityQuery
count(callback) → {undefined}
Compte le nombre d'objets que la requête courante remonterait (non chaînable)
Parameters:
Name | Type | Description |
---|---|---|
callback |
EntityQuery~CountCallback |
- Source:
Returns:
- Type
- undefined
countBy(index, callback)
Compte le nombre d'objet correpondants et les regroupes par index.
Parameters:
Name | Type | Description |
---|---|---|
index |
String | L'index dont on veut le nb d'entities pour chaque valeur qu'il prend |
callback |
EntityQuery~CountByCallback |
- Source:
deletedAfter(when) → {EntityQuery}
Remonte les entités softDeleted après when
Parameters:
Name | Type | Description |
---|---|---|
when |
Date |
- Source:
Returns:
La requête (pour chaînage)
- Type
- EntityQuery
deletedBefore(when) → {EntityQuery}
Remonte les entités softDeleted avant when (<=)
Parameters:
Name | Type | Description |
---|---|---|
when |
Date |
- Source:
Returns:
La requête (pour chaînage)
- Type
- EntityQuery
equals(value) → {EntityQuery}
Limite les enregistrements dont la valeur (de l'index imposé précédemment) est égale à une
valeur donnée.
Parameters:
Name | Type | Description |
---|---|---|
value |
String | Integer | Date | La valeur cherchée |
- Source:
Returns:
La requête (pour chaînage)
- Type
- EntityQuery
false() → {EntityQuery}
raccourci pour .equals(false)
- Source:
Returns:
La requête (pour chaînage)
- Type
- EntityQuery
forEachEntity(onEachEntity, done, optionsopt)
Applique un traitement (onEachEntity) sur chaque entité correspondant à la EntityQuery en cours
Si une occurence lève une erreur, l'ensemble de la boucle est arrétée.
Parameters:
Name | Type | Attributes | Description | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
onEachEntity |
EntityQuery~ForEachEntityOnEachEntityCallback | appelée avec (entity, next), next devra être rappelé après traitement avec une erreur éventuelle |
|||||||||||||||||
done |
EntityQuery~ForEachEntityDoneCallback | appelée à la fin avec (error, nbProcessedOk) |
|||||||||||||||||
options |
object |
<optional> |
Properties
|
- Source:
getIndex(indexName)
Racourci vers Entity#getIndex
Parameters:
Name | Type | Description |
---|---|---|
indexName |
String |
- Source:
grab(optionsopt, callback)
Récupère des entités
Parameters:
Name | Type | Attributes | Description | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
options |
number | object |
<optional> |
Si seulement un nombre est fourni, il sera traité comme options.limit Properties
|
|||||||||
callback |
EntityQuery~GrabCallback | rappelée avec l'erreur ou les résultats |
- Source:
grabOne(callback)
Renvoie un objet liés à la requête
Parameters:
Name | Type | Description |
---|---|---|
callback |
EntityQuery~GrabOneCallback | La callback. |
- Source:
greaterThan(value) → {EntityQuery}
Limite les enregistrements dont la valeur (de l'index imposé précédemment) est supérieure à une
valeur donnée.
Parameters:
Name | Type | Description |
---|---|---|
value |
String | Integer | Date | La valeur à faire correspondre. |
- Source:
Returns:
La requête (pour chaînage)
- Type
- EntityQuery
greaterThanOrEquals(value) → {EntityQuery}
Fait correspondre les enregistrement dont la valeur d'index est supérieure ou
égale à une valeur donnée.
Parameters:
Name | Type | Description |
---|---|---|
value |
String | Integer | Date | La valeur à faire correspondre. |
- Source:
Returns:
La requête (pour chaînage)
- Type
- EntityQuery
in(value) → {EntityQuery}
Fait correspondre les enregistrement dont la valeur d'index est dans une liste
Parameters:
Name | Type | Description |
---|---|---|
value |
Array.<String> | Array.<Integer> | Array.<Date> | Les valeurs à faire correspondre. |
- Source:
Returns:
La requête (pour chaînage)
- Type
- EntityQuery
includeDeleted() → {EntityQuery}
Remonte toutes les entités, softdeleted ou non
- Source:
Returns:
La requête (pour chaînage)
- Type
- EntityQuery
isEmpty() → {EntityQuery}
Filtre sur un index multiple ne contenant aucune valeur (fait du $eq: [])
(car isNull sur un index multiple remonte les entites ayant une valeur null ou undefined dans le tableau d'origine)
- Source:
Returns:
- Type
- EntityQuery
isNotNull() → {EntityQuery}
Limite aux entities ayant l'index précédent non null
(ATTENTION, sur un index multiple ce n'est pas le complément de isNull : la même entity
remonte dans les deux cas si la valeur est un array avec un élément null|undefined
et un autre élément non null|undefined)
- Source:
Returns:
La requête (pour chaînage)
- Type
- EntityQuery
isNull() → {EntityQuery}
Limite aux entities ayant l'index précédent null (ou undefined)
Attention, pour les index multiple ça remonte les entity dont l'array contient au moins un null|undefined
Pour remonter les entities ayant une valeur [] il faut utiliser isEmpty, ou alors utiliser une callback
d'index qui retourne null si le tableau est vide
- Source:
Returns:
La requête (pour chaînage)
- Type
- EntityQuery
like(value) → {EntityQuery}
Limite les enregistrements dont la valeur (de l'index imposé précédemment) ressemble à une
valeur donnée (Cf signification du _ et % avec like).
Parameters:
Name | Type | Description |
---|---|---|
value |
String | Integer | Date | La valeur cherchée |
- Source:
- See:
Returns:
La requête (pour chaînage)
- Type
- EntityQuery
lowerThan(value) → {EntityQuery}
Fait correspondre les enregistrement dont la valeur d'index est inférieure à une
valeur donnée.
Parameters:
Name | Type | Description |
---|---|---|
value |
String | Integer | Date | La valeur à faire correspondre. |
- Source:
Returns:
La requête (pour chaînage)
- Type
- EntityQuery
lowerThanOrEquals(value) → {EntityQuery}
Fait correspondre les enregistrement dont la valeur d'index est inférieure ou
égale à une valeur donnée.
Parameters:
Name | Type | Description |
---|---|---|
value |
String | Integer | Date | La valeur à faire correspondre. |
- Source:
Returns:
La requête (pour chaînage)
- Type
- EntityQuery
match(indexName) → {EntityQuery}
Ajoute un critère à la requête.
Si cette directive est utilisée seule, cela permet de faire correspondre les
objets qui disposent de cet index quel que soit sa valeur. Sinon cette
directive est généralement suivi d'une condition comme in,
greaterThan, etc.
examples
Sélection des personnes qui ont un index "job"
lassi.entity.Person.match('job');
Sélection des personnes de plus de 30 ans :
lassi.entity.Person.match('age').greaterThan(30);
Parameters:
Name | Type | Description |
---|---|---|
indexName |
String | L'index tel que déclaré via Entity#addIndex ou |
- Source:
Returns:
La requête (pour chaînage)
- Type
- EntityQuery
notEquals(value) → {EntityQuery}
Limite les enregistrements dont la valeur (de l'index imposé précédemment) est différente à une
valeur donnée.
Parameters:
Name | Type | Description |
---|---|---|
value |
String | Integer | Date | La valeur cherchée |
- Source:
Returns:
La requête (pour chaînage)
- Type
- EntityQuery
notIn(value) → {EntityQuery}
Remonte les enregistrement dont les valeurs d'index ne sont pas dans la liste
Parameters:
Name | Type | Description |
---|---|---|
value |
Array.<String> | Array.<Integer> | Array.<Date> | Les valeurs à exclure |
- Source:
Returns:
La requête (pour chaînage)
- Type
- EntityQuery
onlyDeleted() → {EntityQuery}
Remonte uniquement les entités softDeleted (inutile avec deletedAfter ou deletedBefore)
- Source:
Returns:
La requête (pour chaînage)
- Type
- EntityQuery
purge(callback)
Efface toutes les entités de la collection (qui matchent la requête si y'en a une qui précède)
Parameters:
Name | Type | Description |
---|---|---|
callback |
purgeCallback |
- Source:
setDebug(statusopt) → {EntityQuery}
Ajoute (ou enlève) le mode debug qui log les params de la requête
(qui peuvent être passé tels quels dans un mongo-shell)
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
status |
boolean |
<optional> |
true |
- Source:
Returns:
La requête (pour chaînage)
- Type
- EntityQuery
softPurge(callback)
Efface toutes les entités de la collection (qui matchent la requête si y'en a une qui précède)
Parameters:
Name | Type | Description |
---|---|---|
callback |
softPurgeCallback |
- Source:
sort(indexName, orderopt) → {EntityQuery}
Tri le résultat de la requête.
Parameters:
Name | Type | Attributes | Default | Description |
---|---|---|---|---|
indexName |
String | L'index sur lequel trier |
||
order |
String |
<optional> |
asc | Comme en SQL, asc ou desc. |
- Source:
Returns:
La requête (pour chaînage)
- Type
- EntityQuery
textSearch(search) → {EntityQuery}
Ajoute un critère de recherche plain text
Parameters:
Name | Type | Description |
---|---|---|
search |
- Source:
Returns:
La requête (pour chaînage)
- Type
- EntityQuery
true() → {EntityQuery}
raccourci pour .equals(true)
- Source:
Returns:
La requête (pour chaînage)
- Type
- EntityQuery
Type Definitions
CountByCallback(error, result)
Callback de countBy
Parameters:
Name | Type | Description |
---|---|---|
error |
Error | Une erreur est survenue (l'index n'existait pas) |
result |
object | le nb de résultats par valeur de l'index |
- Source:
CountCallback(error, count)
Callback de count
Parameters:
Name | Type | Description |
---|---|---|
error |
Error | Une erreur est survenue. |
count |
Integer | le nb de résultat |
- Source:
ForEachEntityDoneCallback(error, count)
Callback final d'une requête forEachEntity, appelé quand tous les résultats ont été traités
Parameters:
Name | Type | Description |
---|---|---|
error |
Error | Une erreur est survenue. |
count |
number | Nombre total d'entités traitées |
- Source:
ForEachEntityOnEachEntityCallback(entity, next)
Callback d'exécution d'une requête forEachEntity, appelé sur chaque résultat de la requête
Parameters:
Name | Type | Description |
---|---|---|
entity |
Entity | Un des résultats de la requête |
next |
function | Callback a appeler quand ce résultat est traité |
- Source:
GrabCallback(error, entities)
Callback d'exécution d'une requête grab
Parameters:
Name | Type | Description |
---|---|---|
error |
Error | |
entities |
Array | La liste des entités remontées |
- Source:
GrabOneCallback(error, entites)
Callback d'exécution d'une requête grabOne
Parameters:
Name | Type | Description |
---|---|---|
error |
Error | Une erreur est survenue. |
entites |
Entity | L'objet trouvé (ou null) |
- Source:
query
Objet qui sera passé en 1er argument des commandes find|count de mongo
Chaque propriété est un chemin dans le document, sa valeur le filtre à y appliquer
- Source:
record
Objet qui contient toutes les infos à passer à mongo pour exécuter la requête
Properties:
Name | Type | Description | ||||||
---|---|---|---|---|---|---|---|---|
query |
EntityQuery~query | |||||||
limit |
number | toujours fourni, HARD_LIMIT_GRAB par défaut |
||||||
options |
object | sera passé tel quel à mongo Properties
|
- Source: