Ich versuche, das Feld status
in einem solchen Dokument zu xorieren:
Ich benutze diesen Code:
%Vor% Die Abfrage erzeugt keinen Fehler, aber das Feld status
wird nicht geändert. Ich denke, dass das Problem ist, dass es 1 als ein Doppel nicht als eine ganze Zahl interpretiert. Ich habe versucht: parseInt(1)
, aber es hatte auch keinen Effekt. Ich habe versucht, NumberInt(1)
zu verwenden, habe aber den Fehler NumberInt is not defined
.
So kann ich es nicht in meinem Code arbeiten lassen; Die äquivalente Abfrage über die Mongo-Shell funktioniert jedoch wie erwartet:
%Vor% Ich habe gegoogelt und festgestellt, dass NumberInt
im mongoose-int32 Paket vorhanden ist, aber es benötigt Mungo. Ich möchte kein Mungo als Abhängigkeit für mein Projekt hinzufügen, deshalb suche ich nach einer anderen Lösung.
Das Problem kommt vom Feldtyp status
, das in Ihrem Dokument gespeichert ist
hier ist es
{ "status" : 1, ... }
aber Sie sollten das haben:
{ "status" : NumberLong(1), ... }
Konvertiere zuerst alle Statusfelder in NumberLong mit diesem Code (führe es direkt in der Shell aus)
%Vor%Dann aktualisieren Sie einfach Ihren vorherigen Code wie folgt:
%Vor%Dies funktionierte mit: