MongoDB Vergleichsoperatoren mit null

n MongoDB möchte ich $ gt- und $ lt-Vergleichsoperatoren verwenden, bei denen der Wert @ sein könntNul. Wenn die Operatoren nicht mit @ arbeitNul, Ich habe nach Dokumentation gesucht, aber keine gefunden. In beiden Fällen wurden keine Dokumente zurückgegeben (obwohl $ ne, $ gte und $ lte Dokumente zurückgegeben haben). Dies bedeutet, dass es Dokumente gab, die gleich und ungleich @ wareNul).

Ich würde erwarten, dass $ gt im Wesentlichen wie $ ne funktioniert (alsNul ArtMongo comarison order ist so niedrig) und $ lt nichts aus dem gleichen Grund zurückzugeben.

Ich hatte gehofft, dass dies funktioniert, da der Wert, den ich an die Abfrage übergebe, variabel ist (möglicherweiseNul), und ich möchte keinen Sonderfall für @ schreiben müssNul.

Beispiel dessen, was ich erwartet hatte, angesichts der folgenden Auflistung:

{
  id: 1,
  colNum: null
}
{
  id: 2,
  colNum: 72
}
{
  id: 3
}

Ich würde die folgende Abfrage erwarten:

db.testtable.find( { "colNum" { $gt : null } } )

Zurückgeben

{
  id: 2,
  colNum: 72
}

s wurde jedoch nichts zurückgegebe

Gibt es einen Grund, warum $ gt und $ lt nicht mit @ zusammenzuarbeiten scheineNul, oder ist es ein MongoDB-Fehler, oder soll er tatsächlich funktionieren und es liegt wahrscheinlich ein Benutzerfehler vor?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage