sql >> Base de Datos >  >> NoSQL >> MongoDB

Mongoose:las comparaciones de ObjectId fallan de manera inconsistente

Un == recto (o === ) la comparación comparará los dos objetos por referencia, no por valor. Entonces eso solo se evaluará como verdadero si ambos hacen referencia a la misma instancia.

En su lugar, deberías usar equals método de ObjectID para comparar sus valores:

story._id.equals(offref.ref)

Como @bendytree señala en los comentarios, si cualquiera de los valores puede ser nulo (y desea que los valores nulos se comparen como iguales), puede usar lo siguiente en su lugar:

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