$doc.addTuple
¶
Description¶
Ajoute un tuple sur le dossier
Syntaxe¶
$doc.addTuple( context [ , defvals [ , options ] ] )
Paramètres¶
context
string / map-
Object décrivant le contexte du tuple à créer. Le paramètre peut désigner soit un contexte (exprimé en tant que string en clair, p.ex.
"listeArticle[123].article"
ou sous forme de hash) ou un map décrivant le contexte. Dans ce cas, le map doit a minima contenir une valeur pour la propriétégroupName
. Si l'appel est effectué en-dehors du contexte du dossier cible, les propriétésmodelName
etdocId
sont également requises, p.ex:1
{ modelName: 'listeArticle', docId: 123, groupName: 'article' }`
Lorsque le paramètre est passés sous forme de map et que le contexte courant désigne un dossier, il est possible de n'indiquer que le nom de groupe. Par exemple, si le contexte courant référence déjà le dossier 123 du modèle "listeArticle", alors il n'est pas nécessaire de reprendre ces éléments dans le map. On pourra alors simplement passer l'objet
{ groupName: 'article' }
pour indiquer que l'on souhaite ajouter un tuple au groupe "article". Le moteur se charge de compléter ce contexte avec le modèle et le docId à partir du contexte courant. Attention toutefois, cela n'est possible qu'avec un map. Ce raccourci n'est pas possible si lecontext
est passé sous forme de string. defvals
map- Map décrivant les valeurs par défaut à assigner au nouveau tuple. Le map doit contenir des paires champ/valeur à reprendre dans le tuple
options
map-
Map d'options. Les options reconnues sont:
ignorePolicies
boolean-
Flag indiquant de ne pas tenir compte des policies lors du traitement.
Par défaut, les policies sont vérifiées si l'application gère des policies et si le thread courant est un thread "client", c'est-à-dire un thread initié par une requête du client. Si la méthode est invoquée par un script démarré par le scheduler, les policies ne seront pas vérifiées par défaut.
flush
boolean-
Demande à la méthode d'effectuer un flush explicite des données du nouveau tuple dans la base de données.
La valeur par défaut est
false
sur les threads initié par un client (c'est-à-dire les threads créés suite à une requête d'un client). Le paramètre prend automatiquement la valeurtrue
pour les autres types de threads (scheduler, thread technique, etc.) ainsi que lorsque la méthode référence un dossier qui n'est pas déjà ouvert.Lorsque la propriété est
false
, les valeurs du nouveau tuple (en particulier les valeurs passées via le paramètredefvals
) sont uniquement enregistrées en mémoire. Le flagflush
permet de forcer le moteur à effectuer un enregistrement du dossier dans la base de données. notify
boolean-
Flag
true
/false
indiquant si le moteur doit déclencher la notificationdoc-addtuple
. Par défaut le flag estfalse
.Voir la description détaillée dans la documentation de la méthode
$doc.create
. notificationParams
map-
Paramètres supplémentaires à passer lors de la notification
doc-addtuple
. N'est pris en compte que lorsquenotify
esttrue
.Le paramètre attendu est un map de clés-valeurs. Les clés
modelName
,docId
,groupName
ettupleId
sont réservés et renseignés automatiquement par la méthode.
Retour¶
La méthode retourne le contexte décrivant le nouveau tuple (sous forme de
map), ou null
si le tuple n'a pas pu être créé.
Exemple¶
L'exemple ci-dessous s'appuie sur le fait que le contexte courant référence déjà un dossier. Par conséquent en spécifiant le contexte à l'aide d'un map, il suffit d'indiquer le nom de groupe auquel le nouveau tuple doit être ajouté.
1 |
|