У меня есть приложение 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/…