Meteor - Collections

Dans ce chapitre, nous allons apprendre à utiliser MongoDB collections.

Créer une collection

Nous pouvons créer une nouvelle collection avec le code suivant -

meteorApp.js

MyCollection = new Mongo.Collection('myCollection');

Ajouter des données

Une fois la collection créée, nous pouvons ajouter des données en utilisant le insert méthode.

meteorApp.js

MyCollection = new Mongo.Collection('myCollection');

var myData = {
   key1: "value 1...",
   key2: "value 2...",
   key3: "value 3...",
   key4: "value 4...",
   key5: "value 5..."
}

MyCollection.insert(myData);

Trouver des données

Nous pouvons utiliser le find méthode pour rechercher des données dans la collection.

meteorApp.js

MyCollection = new Mongo.Collection('myCollection');

var myData = {
   key1: "value 1...",
   key2: "value 2...",
   key3: "value 3...",
   key4: "value 4...",
   key5: "value 5..."
}

MyCollection.insert(myData);

var findCollection = MyCollection.find().fetch();
console.log(findCollection);

La console affichera les données que nous avons insérées précédemment.

Nous pouvons obtenir le même résultat en ajoutant les paramètres de recherche.

meteorApp.js

MyCollection = new Mongo.Collection('myCollection');

var myData = {
   key1: "value 1...",
   key2: "value 2...",
   key3: "value 3...",
   key4: "value 4...",
   key5: "value 5..."
}

MyCollection.insert(myData);

var findCollection = MyCollection.find({key1: "value 1..."}).fetch();
console.log(findCollection);

Mettre à jour les données

La prochaine étape consiste à mettre à jour nos données. Après avoir créé une collection et inséré de nouvelles données, nous pouvons utiliser leupdate méthode.

meteorApp.js

MyCollection = new Mongo.Collection('myCollection');

var myData = {
   key1: "value 1...",
   key2: "value 2...",
   key3: "value 3...",
   key4: "value 4...",
   key5: "value 5..."
}

MyCollection.insert(myData);

var findCollection = MyCollection.find().fetch();
var myId = findCollection[0]._id;

var updatedData = {
   key1: "updated value 1...",
   key2: "updated value 2...",
   key3: "updated value 3...",
   key4: "updated value 4...",
   key5: "updated value 5..."
}

MyCollection.update(myId, updatedData);

var findUpdatedCollection = MyCollection.find().fetch();
console.log(findUpdatedCollection);

La console montrera que notre collection est mise à jour.

Suprimmer les données

Les données peuvent être supprimées de la collection à l'aide du removeméthode. Nous établissonsid dans cet exemple en tant que paramètre pour supprimer des données spécifiques.

meteorApp.js

MyCollection = new Mongo.Collection('myCollection');

var myData = {
   key1: "value 1...",
   key2: "value 2...",
   key3: "value 3...",
   key4: "value 4...",
   key5: "value 5..."
}

MyCollection.insert(myData);

var findCollection = MyCollection.find().fetch();
var myId = findCollection[0]._id;

MyCollection.remove(myId);

var findDeletedCollection = MyCollection.find().fetch();
console.log(findDeletedCollection);

La console affichera un tableau vide.

Si nous voulons tout supprimer de la collection, nous pouvons cependant utiliser la même méthode au lieu de id nous utiliserons un objet vide {}. Nous devons le faire sur le serveur pour des raisons de sécurité.

meteorApp.js

if (Meteor.isServer) {

   MyCollection = new Mongo.Collection('myCollection');

   var myData = {
      key1: "value 1...",
      key2: "value 2...",
      key3: "value 3...",
      key4: "value 4...",
      key5: "value 5..."
   }

   MyCollection.insert(myData);
   MyCollection.remove({});
	
   var findDeletedCollection = MyCollection.find().fetch();
   console.log(findDeletedCollection);
}

Nous pouvons également supprimer des données en utilisant d'autres paramètres. Comme dans l'exemple précédent, Meteor nous obligera à le faire depuis le serveur.

meteorApp.js

if (Meteor.isServer) {

   MyCollection = new Mongo.Collection('myCollection');

   var myData = {
      key1: "value 1...",
      key2: "value 2...",
      key3: "value 3...",
      key4: "value 4...",
      key5: "value 5..."
   }

   MyCollection.insert(myData);
   MyCollection.remove({key1: "value 1..."});
	
   var findDeletedCollection = MyCollection.find().fetch();
   console.log(findDeletedCollection);
}

On peut voir que les données sont supprimées de la fenêtre de commande.