Les opérateurs : $exits,$type
1.Opérateur $exists
Permet de vérifier si un attribut existes parmis les champs d'un document
Exemple:
Afficher la liste des produits qui n'ont pas de marque
db.produits.find({"marque":{$exists:false}},{})
Remarques
Remarque:1
$exists:false :c'ést à dire que le champs n'existe pas et
Non que le champs est vide
Remarque2:
On peut ajouter des conditions avec $exits pour le meme champs
Afficher la liste des produits qui ont le champs prix et doit etre >10
db.produits.find({"prix":{$exists:true,$gt:10}},{})
2.Opérateur $type
$type: vérifier le type de la valeur d'un attribut d'un document
Vérifier si le type de l'attribut prix est double
db.produits.find({prix:{$type:"double"}},{})
Les types de données dans MongoDB
MongoDB traite les données de types: integer,boolean,double,string,arrays,object,null,date,undefined,timestamp,ObjectId,
1.integer
integer: un nombre entier de 32 bits
{
age:18,
quantite:48
...
}
2.double
double: un nombre réel de 64 bits
{
prix:145.2,
note:4.5
...
}
3.string
string: une chaine de caractères
{
nom:"nom1",
adresse:"adresse"
...
}
4.boolean
boulean: a deux valeurs true ou false
{
present:true,
validation:false
...
}
5.array
array: la valeur d'un attribut est un tableau de type primitives (integer,double, string..) ou des objets
{
villes:["rabat","casa","dakhla"],
listeGroupes:[
{ _id:1,
nom:"groupe1",
filiere:"filiere1"
},
...
]
}
6.object
object: la valeur d'un attribut est un objet {clé:valeur,clé:value}
{
fournisseur:{
_id:1,
nom:"nom",
tel:"04547"
}
}
7.null
null: la valeur d'un attirbut est
Egale à Null (valeur n'existe pas)
{
age:null,
nom:null
...
}
7.undefined
undefined: la valeur d'un attirbut
n'est pas reconnue (valeur existe mais non reconnue)
{
age:undefined,
villes:undefined
...
}