Warum schlagen meine MongooseJS ObjectIds den Gleichheitstest fehl?

8

Angenommen, ich speichere und erhalte identische Objekte wie folgt

%Vor%

Wenn ich auf die Konsole drucke, sind die ObjectIds identisch. Wenn ich toString auf beiden ObjectIds anrufe, sind sie gleich. Wie auch immer, geradeaus

%Vor%

Gibt false zurück. Was passiert hier?

    
deltanovember 16.05.2012, 22:03
quelle

1 Antwort

19

ObjectIds sind Objekte, also vergleicht ein standard == Gleichheitstest die Referenzen für die Gleichheit, nicht die enthaltenen ID-Werte. Der richtige Weg, ihre Werte zu vergleichen, ist die Verwendung von ObjectId.equals als:

%Vor%     
JohnnyHK 17.05.2012 00:15
quelle

Tags und Links