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

Comment interrogez-vous pour n'est pas nul dans Mongo?

Cela renverra tous les documents avec une clé appelée "IMAGE URL", mais ils peuvent toujours avoir une valeur nulle.

db.mycollection.find({"IMAGE URL":{$exists:true}});

Cela renverra tous les documents avec à la fois une clé appelée "IMAGE URL" et une valeur non nulle.

db.mycollection.find({"IMAGE URL":{$ne:null}});

De plus, selon la documentation, $exists ne peut actuellement pas utiliser d'index, mais $ne le peut.

Edit :Ajout de quelques exemples en raison de l'intérêt pour cette réponse

Étant donné ces encarts :

db.test.insert({"num":1, "check":"check value"});
db.test.insert({"num":2, "check":null});
db.test.insert({"num":3});

Cela renverra les trois documents :

db.test.find();

Cela renverra uniquement les premier et deuxième documents :

db.test.find({"check":{$exists:true}});

Cela ne renverra que le premier document :

db.test.find({"check":{$ne:null}});

Cela ne renverra que les deuxième et troisième documents :

db.test.find({"check":null})