Skip to content

$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és modelName et docId 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 le context 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 valeur true 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ètre defvals) sont uniquement enregistrées en mémoire. Le flag flush 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 notification doc-addtuple. Par défaut le flag est false.

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 lorsque notify est true.

Le paramètre attendu est un map de clés-valeurs. Les clés modelName, docId, groupName et tupleId 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
$doc.addTuple({ groupName: 'commentaires' });