Mongo. Wie überprüft man, ob das Feld eine Zahl ist?

7

Wie wähle ich mongodb Dokumente aus, wo das Feld eine Nummer ist?

Einige Beispiele für den Inhalt dieses Feldes: "2", "a", "Z", 3

    
Andrei 03.05.2013, 11:04
quelle

4 Antworten

19

Sie können den Operator $ type verwenden, um basierend auf dem BSON-Typ des Feldes auszuwählen. was dir das bringen soll was du willst.

So zum Beispiel, um alle Zeichenfolgen zu finden:

%Vor%

Oder, um alle Doubles zu finden (was normalerweise Zahlen sind, die von der Shell dank des Standard-Javascript-Verhaltens gespeichert werden), würden Sie verwenden:

%Vor%

Da es zwei Arten von Integer gibt (potentiell), müssten Sie etwas wie folgt verwenden:

%Vor%

Schließlich, um alle Zahlen zu erhalten, ganzzahlig oder doppelt:

%Vor%     
Adam Comerford 03.05.2013, 11:14
quelle
12

Sie können den Typ eines Felds bar mit

angeben %Vor%

Ссылка

    
ebr 17.01.2014 06:47
quelle
2

typeof in mongo gibt auch object für array type zurück. Um zu überprüfen, ob ein Feld ein Number ist, führen Sie unter Abfrage aus, ob es ein Ergebnis zurückgibt.

db.foo.find('Object.prototype.toString.call(this.bar) === "[object Number]"')

Sie können auch sehen Ссылка

    
Tarun Vashisth 04.05.2016 07:40
quelle
2

Sie können stattdessen den Alias ​​"number" verwenden:

%Vor%     
Youssef Youssef 24.12.2016 15:17
quelle

Tags und Links