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

Mongoose:i confronti ObjectId falliscono in modo incoerente

Un == diritto (o === ) il confronto confronterà i due oggetti per riferimento, non per valore. Quindi verrà valutato come true solo se entrambi fanno riferimento alla stessa istanza.

Invece, dovresti usare equals metodo di ObjectID per confrontare i loro valori:

story._id.equals(offref.ref)

Come osserva @bendytree nei commenti, se uno dei due valori può essere nullo (e vuoi che i valori nulli vengano confrontati come uguali), puoi invece utilizzare quanto segue:

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