MongoDB::createCollection
(PECL mongo >=0.9.0)
MongoDB::createCollection — Crée une collection
Description
Cette méthode est utilisée pour créer des collections limitées ainsi que des collections nécessitant des options spéciales. Cette méthode revient à exécuter :
<?php
$collection = $db->command(array(
"create" => $name,
"capped" => $options["capped"],
"size" => $options["size"],
"max" => $options["max"],
"autoIndexId" => $options["autoIndexId"],
));
?>
Liste de paramètres
-
name
-
Le nom de la collection.
-
options
-
Un tableau contenant les options pour les collections. Chaque option est son propre élément dans le tableau des options, dont le nom de l'option listée ci-dessous est la clé de l'élément. Les options supportées dépendent de la version du serveur MongoDB et du moteur de stockage, et le driver passe toutes les options que vous fournissez directement au serveur. Voici une liste de quelques options, mais vous pouvez trouver une liste complète dans la documentation coeur de MongoDB pour » createCollection :
-
capped
-
Si la collection doit avoir une taille fixe.
-
size
-
Si la collection a une taille fixe, la taille en octets.
-
max
-
Si la collection a une taille fixe, le nombre maximum d'éléments à stoquer dans la collection.
-
autoIndexId
-
Si l'option capped vaut
TRUE
, vous pouvez spécifierFALSE
ici pour désactiver la création d'index automatique sur le champ _id. Avant MongoDB 2.2, la valeur par défaut pour autoIndexId étaitFALSE
.
-
Exemples
Exemple #1 Exemple avec MongoDB::createCollection()
Une collection plafonnée est un type spécial de collection qui a soit des éléments fixes, soit un nombre d'éléments fixes. Une fois que la collection est pleine, les éléments les plus anciens seront effacés lors de l'ajout de nouveaux éléments. Les collections plafonnées sont vraiment utiles pour les applications qui historisent et que vous souhaitez réserver une certaine quantitié d'espaces à l'historisation sans vous soucier de leurs évolutions.
Cet exemple crée une petite collection qui conserve un maximum de 10 documents.
<?php
$log = $db->createCollection(
"logger",
array(
'capped' => true,
'size' => 10*1024,
'max' => 10
)
);
for ($i = 0; $i < 100; $i++) {
$log->insert(array("level" => WARN, "msg" => "Message simple d'historisation #$i", "ts" => new MongoDate()));
}
$msgs = $log->find();
foreach ($msgs as $msg) {
echo $msg['msg']."\n";
}
?>
L'exemple ci-dessus va afficher quelque chose de similaire à :
Message simple d'historisation #90
Message simple d'historisation #91
Message simple d'historisation #92
Message simple d'historisation #93
Message simple d'historisation #94
Message simple d'historisation #95
Message simple d'historisation #96
Message simple d'historisation #97
Message simple d'historisation #98
Message simple d'historisation #99
Historique
Version | Description |
---|---|
1.4.0 |
Dans les versions antérieures à 1.4.0, les options étaient toutes des arguments de la méthode. La signature de la fonction dans ces anciennes versions était :
public MongoDB::createCollection
( string
$name
[, bool $capped = FALSE
[, int $size = 0
[, int $max = 0
]]] ) : MongoCollection
La signification de ces options est la même que celle décrite ci-dessus,
dans l'argument |
Version en cache
23/12/2024 08:32:20 Cette version de la page est en cache (à la date du 23/12/2024 08:32:20) afin d'accélérer le traitement. Vous pouvez activer le mode utilisateur dans le menu en haut pour afficher la dernère version de la page.Document créé le 30/01/2003, dernière modification le 26/10/2018
Source du document imprimé : https://www.gaudry.be/php-rf-mongodb.createcollection.html
L'infobrol est un site personnel dont le contenu n'engage que moi. Le texte est mis à disposition sous licence CreativeCommons(BY-NC-SA). Plus d'info sur les conditions d'utilisation et sur l'auteur.
Références
Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.