Estoy almacenando algunos datos en un mongodb y accediendo a él con js/nodejs y mangosta. Puedo usar .find() para encontrar algo en la base de datos, eso no es un problema. Lo que es un problema es que si no hay algo, me gustaría hacer otra cosa. Actualmente esto es lo que trato:Haga algo si no se encuentra nada con .find() mangosta
UserModel.find({ nick: act.params }, function (err, users) {
if (err) { console.log(err) };
users.forEach(function (user) {
if (user.nick === null) {
console.log('null');
} else if (user.nick === undefined) {
console.log('undefined');
} else if (user.nick === '') {
console.log('empty');
} else {
console.log(user.nick);
}
});
});
Ninguno de los incendios cuando hago algo donde act.params no estarían en el índice de nick. No recibo nada para consolar cuando esto sucede, pero obtengo user.nick para iniciar sesión correctamente cuando está realmente allí. Sólo traté de hacerlo a la inversa de esta manera:
UserModel.find({ nick: act.params }, function (err, users) {
if (err) { console.log('noooope') };
users.forEach(function (user) {
if (user.nick !== '') {
console.log('null');
} else {
console.log('nope');
}
});
});
pero esto todavía no se registró nope
. ¿Que me estoy perdiendo aqui?
Si no lo encuentra, se saltea todo en la llamada de búsqueda, lo cual está bien, excepto que necesito hacer cosas después si no está allí que no quiero hacer si es así. :/
¡Hice esto la respuesta para explicar la diferencia en lo que se devuelve entre 'find()' y 'findOne()' y suministrando las respuestas! – Rob