Mam aplikację node.js, która pobiera niektóre dane i umieszcza je w obiekcie, na przykład:
var results = new Object();
User.findOne(query, function(err, u) {
results.userId = u._id;
}
Kiedy wykonuję if / then na podstawie tego przechowywanego identyfikatora, porównanie nigdy nie jest prawdziwe:
if (results.userId == AnotherMongoDocument._id) {
console.log('This is never true');
}
Kiedy robię plik console.log dwóch identyfikatorów, pasują one dokładnie:
User id: 4fc67871349bb7bf6a000002 AnotherMongoDocument id: 4fc67871349bb7bf6a000002
Zakładam, że jest to jakiś problem z typem danych, ale nie jestem pewien, jak przekonwertować results.userId na typ danych, który spowoduje, że powyższe porównanie będzie prawdziwe, a mój outsourcing mózgu (alias Google) nie był w stanie pomóc.
.equals()
: mongodb.github.io/node-mongodb-native/api-bson-generated/…