MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Mongoose:Сравненията на ObjectId се провалят непоследователно

Право == (или === ) сравнението ще сравнява двата обекта по препратка, а не по стойност. Така че това ще се оцени като истина само ако и двете се позовават на един и същи екземпляр.

Вместо това трябва да използвате equals метод на ObjectID за да сравните техните стойности:

story._id.equals(offref.ref)

Както @bendytree отбелязва в коментарите, ако някоя от стойностите може да е нула (и искате null да се сравняват като равни), тогава можете да използвате следното вместо това:

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


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Заявка към монгоидно хеш поле

  2. Преданият аргумент трябва да бъде единичен низ от 12 байта

  3. Коя NoSQL база данни трябва да използвам за регистриране?

  4. Какво е новото в MongoDB 4.2

  5. Инсталиране на MongoDB на Ubuntu 16.04