MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Wie fragen Sie in Mongo ab, ob es nicht null ist?

Dadurch werden alle Dokumente mit einem Schlüssel namens "IMAGE URL" zurückgegeben, aber sie können immer noch einen Nullwert haben.

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

Dadurch werden alle Dokumente mit einem Schlüssel namens "IMAGE URL" und zurückgegeben ein Nicht-Null-Wert.

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

Außerdem kann $exists laut der Dokumentation derzeit keinen Index verwenden, $ne jedoch schon.

Bearbeiten:Hinzufügen einiger Beispiele aufgrund des Interesses an dieser Antwort

Angesichts dieser Einfügungen:

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

Dadurch werden alle drei Dokumente zurückgegeben:

db.test.find();

Dadurch werden nur das erste und zweite Dokument zurückgegeben:

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

Dadurch wird nur das erste Dokument zurückgegeben:

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

Dadurch werden nur das zweite und dritte Dokument zurückgegeben:

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