Tengo una aplicación Node.js que tira algunos datos y lo pega en un objeto, como esto:_id mangosta y cuerdas
var results = new Object();
User.findOne(query, function(err, u) {
results.userId = u._id;
}
Cuando hago un si/entonces sobre la base de que el ID almacenado, el Nunca comparación es verdadera:
if (results.userId == AnotherMongoDocument._id) {
console.log('This is never true');
}
Cuando hago un console.log de los dos identificadores, que coinciden exactamente:
User id: 4fc67871349bb7bf6a000002 AnotherMongoDocument id: 4fc67871349bb7bf6a000002
estoy tan Esto es un tipo de problema de tipo de datos, pero no estoy seguro de cómo convertir results.userId a un tipo de datos que dará como resultado que la comparación anterior sea cierta y mi cerebro subcontratado (también conocido como Google) no haya podido ayudar.
Documentos para '.equals()': http://mongodb.github.io/node-mongodb-native/api-bson-generated/objectid.html#equals –
Si ya está usando 'mongoose' puede simplemente 'require (' mongoose '). mongo.ObjectID' por lo que no tiene que enumerar ninguna dependencia adicional – JoshuaDavid