Vous pouvez créer une collection en utilisant le createCollection()
méthode, ou à la volée lorsque vous insérez un document.
Les collections sont comme des conteneurs pour les documents associés. Ils sont généralement utilisés pour regrouper des documents d'un sujet similaire. Par exemple, vous pourriez avoir des noms de collection tels que
users
, pageviews
, posts
, comments
, etc.
Lorsque nous avons créé notre base de données, nous avons créé une collection appelée artistes . Cette collection contiendra des documents avec des détails sur les artistes, tels que les noms des artistes, les albums qu'ils ont sortis, etc.
Deux façons de créer une collection
Voici deux manières de créer des collections :
- Vous pouvez créer une collection à la volée lors de l'insertion d'un document (en utilisant le
insert()
méthode. - Vous pouvez également créer une collection explicitement, en utilisant le
createCollection()
méthode.
À la volée
Lorsque vous utilisez le insert()
méthode pour insérer un document, vous spécifiez la collection dans laquelle le document sera inséré. Si la collection n'existe pas déjà, elle sera créée.
C'est la méthode que nous utilisions précédemment lors de la création de nos artists
collection lors de l'insertion d'un document.
Voici le code que nous avons utilisé :
db.artists.insert({ artistname: "The Tea Party" })
Dans ce cas, les artists
collection n'existait pas auparavant, elle a donc été créée pour nous.
Utilisation de createCollection()
Méthode
Vous pouvez également créer des collections à l'aide de createCollection()
méthode. Cela vous permet de créer une collection sans insérer de document.
Voici un exemple d'utilisation de createCollection()
méthode :
db.createCollection("producers")
Avec Options
Vous pouvez également spécifier des options pour la collection en utilisant db.createCollection(name, options)
syntaxe.
Voici un exemple :
db.createCollection("log", { capped : true, size : 4500500, max : 4000 } )
Les champs disponibles à partir de la version 3.2 de MongoDB sont les suivants.
Champ | Tapez | Description | ||||||
---|---|---|---|---|---|---|---|---|
capped | booléen | Lorsqu'il est défini sur true , crée une collection limitée. Une collection plafonnée est une collection de taille fixe qui écrase automatiquement ses entrées les plus anciennes lorsqu'elle atteint sa taille maximale. Si vous spécifiez true , vous devez également définir une taille maximale dans le champ size champ. | ||||||
autoIndexId | booléen | Spécifier false pour désactiver la création automatique d'un index sur le _id domaine. À partir de la version 3.2 de MongoDB, ce champ est obsolète et sera supprimé dans la version 3.4. | ||||||
size | numéro | Taille maximale en octets pour une collection limitée. Utilisé uniquement avec les collections plafonnées (il est ignoré dans les autres collections). | ||||||
max | numéro | Nombre maximum de documents autorisés dans la collection limitée. Notez que la size le champ a priorité sur le max domaine. Si la collection atteint sa limite de taille avant que la limite de documents ne soit atteinte, MongoDB supprimera quand même les documents. | ||||||
usePowerOf2Sizes | booléen | Disponible uniquement dans le moteur de stockage MMAPv1. Ce champ est obsolète depuis la version 3.0. | ||||||
noPadding | booléen | Disponible uniquement dans le moteur de stockage MMAPv1. Désactive la puissance de 2 allocations de tailles pour la collection. La valeur par défaut est false . | ||||||
storageEngine | document | Disponible uniquement dans le moteur de stockage WiredTiger. Permet la configuration du moteur de stockage par collection lors de la création d'une collection. La syntaxe est la suivante :{ <storage-engine-name>: <options> } | ||||||
validator | document | Vous permet de spécifier des règles ou des expressions de validation pour la collection. Notez que la validation n'est appliquée que lors de l'insertion et de la mise à jour des données. Par conséquent, les données qui existent déjà dans la base de données ne sont pas validées (jusqu'à ce qu'elles soient mises à jour). | ||||||
validationLevel | chaîne | Vous permet de spécifier la rigueur avec laquelle les règles de validation sont appliquées aux documents existants lors d'une mise à jour. Valeurs possibles :
| ||||||
validationAction | chaîne | Spécifie si une erreur doit se produire, ou simplement un avertissement, lorsque des documents non valides sont insérés. En cas d'erreur, les documents invalides seront toujours insérés, mais avec un avertissement.
| ||||||
indexOptionDefaults | document | Vous permet de spécifier une configuration par défaut pour les index lors de la création d'une collection. Accepte un storageEngine document avec la syntaxe suivante :{ |