MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

MongoDB - Créer une collection

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 :
off Aucune validation n'a lieu pour les insertions ou les mises à jour.
strict La validation se produit pour les insertions et les mises à jour. c'est la valeur par défaut.
moderate Les règles de validation ne s'appliquent qu'aux éléments valides existants documents, mais pas aux invalides existants document.
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.
error Spécifie qu'une erreur se produit lorsqu'un document non valide est en cours d'écriture et que l'opération échoue.
warning Spécifie que des documents non valides peuvent toujours être écrits et que l'avertissement sera enregistré.
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 :{  : }