MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Mongoose:as comparações de ObjectId falham de forma inconsistente


Um == direto (ou === ) comparará os dois objetos por referência, não por valor. Portanto, isso só será avaliado como verdadeiro se ambos fizerem referência à mesma instância.

Em vez disso, você deve usar o equals método de ObjectID para comparar seus valores:
story._id.equals(offref.ref)

Como @bendytree observa nos comentários, se qualquer valor puder ser nulo (e você quiser que os nulos sejam comparados como iguais), você poderá usar o seguinte:
String(story._id) === String(offref.ref)