sql >> Databasteknik >  >> NoSQL >> MongoDB

Mongoose:ObjectId-jämförelser misslyckas inkonsekvent

En rak == (eller === ) jämförelse kommer att jämföra de två objekten genom referens, inte värde. Så det kommer bara att utvärderas till sant om de båda refererar till samma instans.

Istället bör du använda equals metod för ObjectID för att jämföra deras värden:

story._id.equals(offref.ref)

Som @bendytree noterar i kommentarerna, om något av värdet kan vara null (och du vill att nollor ska jämföras som lika), kan du använda följande istället:

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


  1. Bygga REST API:er med EVE

  2. Hur tar man bort dubbletter från en array?

  3. Steg för att ansluta MongoDB och Solr med DataImportHandler

  4. Redis som Hibernate-cache på andra nivån