# MongoDB\Driver\WriteConcern::__construct

(mongodb >=1.0.0)

MongoDB\Driver\WriteConcern::__construct — Construit un WriteConcern

### Description

final public MongoDB\Driver\WriteConcern::__construct(string|int `$w`, ?int `$wtimeout` = `null`, ?bool `$journal` = `null`)

Construit un nouveau MongoDB\Driver\WriteConcern, qui est un objet de valeur immuable.

### Liste de paramètres

`w`

  Préoccupation d'écriture
  Valeur | Description
  --- | ---
  1 | Demande l'accusé de réception que l'opération d'écriture s'est propagée au `mongod` autonome ou au principal dans un jeu de réplicas. Il s'agit de la préoccupation d'écriture par défaut pour MongoDB.
  0 | Ne demande aucun accusé de réception de l'opération d'écriture. Toutefois, cela peut renvoyer des informations sur les exceptions de socket et les erreurs de mise en réseau à l'application.
  <entier supérieur à 1> | Les nombres supérieurs à 1 sont valides uniquement pour les jeux de réplicas pour demander l'accusé de réception à partir du nombre spécifié de membres, y compris le principal.
  `MongoDB\Driver\WriteConcern::MAJORITY` | Demande l'accusé de réception que les opérations d'écriture se sont propagées à la majorité des nœuds votants, y compris le principal, et ont été écrites dans le journal sur disque pour ces nœuds. Avant MongoDB 3.0, il s'agit de la majorité des membres du jeu de réplicas (et pas seulement des nœuds votants).
  string | Une valeur de chaîne est interprétée comme un jeu de balises. Demande l'accusé de réception que les opérations d'écriture se sont propagées à un membre de jeu de réplicas avec la balise spécifiée.

`wtimeout`

  Délai d'attente maximal (en millisecondes) avant que les secondaires n'échouent.

  `wtimeout` fera que les opérations en écriture vont retournées une erreur (WriteConcernError) après le délai spécifié. Lorsque ces opérations en écriture retournent, MongoDB ne va pas annuler les données modifiées avant que les préoccupations en écriture n'atteignent le délai limite `wtimeout`.

  Si spécifié, `wtimeout` doit être un entier signé 64 bits supérieur ou égal à zéro.

  Délai d'attente maximal des préoccupations d'écriture
  Valeur | Description
  --- | ---
  0 | Bloc indéfiniement. C'est le comportement par défaut.
  <entier supérieur à 0> | Nombre de millisecondes à attendre avant de retourner.

`journal`

  Attente avant que mongod n'applique l'écriture au journal.

### Erreurs / Exceptions

- Lance une exception MongoDB\Driver\InvalidArgumentException lors d'une erreur survenue pendant l'analyse d'un argument.
- Lève une exception MongoDB\Driver\Exception\InvalidArgumentException si `w` est invalide ou `wtimeout` est negatif ou supérieure aux limites d'un entier signé 32 bits.

### Historique

Version | Description
--- | ---
PECL mongodb 1.7.0 | Le paramètre `wTimeout` accepte désormais des valeurs 64-bit.

### Exemples

Exemple #1 Exemple avec MongoDB\Driver\WriteConcern::__construct()

`<?php
/* Demande une confirmation des requêtes en écriture pour la majorité des nœuds
du jeux de réplication */
$wc = new MongoDB\Driver\WriteConcern(MongoDB\Driver\WriteConcern::MAJORITY, 500);
/* Demande une confirmation des requêtes en écriture, configurée par la balise
"MultipleDC" */
$wc = new MongoDB\Driver\WriteConcern("MultipleDC", 500);
?>`

### Voir aussi

- » Write Concern reference