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écifierFALSEici 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.
-
Valeurs de retour
Retourne un objet MongoCollection, qui représente la nouvelle collection.
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 MongoCollection MongoDB::createCollection
( string
$name
[, bool $capped = FALSE
[, int $size = 0
[, int $max = 0
]]] )
La signification de ces options est la même que celle décrite ci-dessus,
dans l'argument |