Sommaire

Interagir avec les vues Vue:interagir avec

Comme pour une collection, nous appellons la méthode find sur cette vue :

db.inventaire.find()

Le résultat de cette invocation sera :

{ "nom" : "Lames rasoir x 8", "quantite" : 256 } 
{ "nom" : "Encens - pack de 12", "quantite" : 2135 } 
{ "nom" : "Bougies couleur", "quantite" : 7836 }

Nous pouvons utiliser le tri sur la vue, par exemple un tri par ordre décroissant sur la quantité :

db.inventaire.find().sort({"quantite": -1})

En revanche, le tri naturel n’est pas permis :

db.inventaire.find().sort({$natural: 1})

Ceci générera, en effet, l’erreur suivante :

Sort option $natural not supported in aggregation.

Opérations de lecture disponibles sur les vues

Outre find que nous venons de voir, les opérations suivantes sont utilisables sur des vues :

  • findOne()

  • aggregate()

  • countDocuments()

  • estimatedDocumentCount()

  • count()

  • distinct()

À retenir

Introduites depuis la version 3.4 de MongoDB :

  • Les vues opèrent indifféremment sur des collections ou bien d’autres vues et résident forcément dans la même base de données que ces dernières.

  • Il est impossible de les renommer, elles devront être détruites avec drop puis recréées.

La définition d’une vue est publique, il faut donc faire attention aux données sensibles qui peuvent y figurer.