sql >> Databáze >  >> NoSQL >> MongoDB

Mongoose:Porovnání ObjectId nekonzistentně selhávají

Rovný == (nebo === ) porovnání bude porovnávat dva objekty odkazem, nikoli hodnotou. To se tedy vyhodnotí jako true pouze v případě, že oba odkazují na stejnou instanci.

Místo toho byste měli používat equals metoda ObjectID pro porovnání jejich hodnot:

story._id.equals(offref.ref)

Jak poznamenává @bendytree v komentářích, pokud by některá z hodnot mohla být null (a chcete, aby se hodnoty null porovnávaly jako rovné), můžete místo toho použít následující:

String(story._id) === String(offref.ref)


  1. Souborový systém pouze pro čtení při pokusu o mkdir /data/db na Macu

  2. Vyberte Max() se skupinou podle v mongodb

  3. MongoDB-as-a-Service v Kanadě

  4. Redis:Zobrazit velikost/velikost databáze pro klíče