sql >> Database teknologi >  >> NoSQL >> MongoDB

Mongoose:ObjectId-sammenligninger mislykkes inkonsekvent

En lige == (eller === ) sammenligning vil sammenligne de to objekter ved reference, ikke værdi. Så det vil kun vurderes til sandt, hvis de begge refererer til den samme instans.

I stedet bør du bruge equals metode til ObjectID at sammenligne deres værdier:

story._id.equals(offref.ref)

Som @bendytree bemærker i kommentarerne, hvis en af ​​værdierne kunne være null (og du ønsker, at nuller skal sammenlignes som lige), så kan du bruge følgende i stedet:

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


  1. Mongoose:hvad er forskellene mellem Model.create og Collection.insert

  2. Python Redis interaktion

  3. Hvordan bruger man prik i feltnavnet?

  4. Hvordan beregner man den løbende total ved hjælp af aggregat?