У меня есть приложение node.js, которое извлекает некоторые данные и вставляет их в объект, например:
var results = new Object();
User.findOne(query, function(err, u) {
results.userId = u._id;
}
Когда я выполняю операцию «если/то» на основе сохраненного идентификатора, сравнение никогда не бывает верным :
if (results.userId == AnotherMongoDocument._id) {
console.log('This is never true');
}
. Когда я делаю console.log двух идентификаторов, они точно совпадают:
User id: 4fc67871349bb7bf6a000002 AnotherMongoDocument id: 4fc67871349bb7bf6a000002
Я предполагаю, что это какая-то проблема с типом данных, но я не уверен, как преобразовать results.userId в тип данных, который приведет к тому, что приведенное выше сравнение будет верным, и мой аутсорсинговый мозг (, также известный как Google ), не смог помочь.