У мене є додаток node.js, який витягує деякі дані і вставляє їх в об'єкт, як це:
var results = new Object();
User.findOne(query, function(err, u) {
results.userId = u._id;
}
Коли я роблю if / then на основі цього збереженого ідентифікатора, порівняння ніколи не відповідає дійсності:
if (results.userId == AnotherMongoDocument._id) {
console.log('This is never true');
}
Коли я роблю console.log з двох ідентифікаторів, вони точно відповідають:
User id: 4fc67871349bb7bf6a000002 AnotherMongoDocument id: 4fc67871349bb7bf6a000002
Я припускаю, що це якась проблема типу даних, але я не впевнений, як конвертувати results.userId у тип даних, що призведе до того, що вищезгадане порівняння є істинним, і мій аутсорсинговий мозок (він же Google) не зміг допомогти.
.equals()
: mongodb.github.io/node-mongodb-native/api-bson-generated/…