MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Mongoose Mongodb interroga un array di oggetti

L'ho cambiato per usare findOne invece di find e ora funziona. Non sono troppo sicuro del motivo per cui questo dovrebbe fare la differenza. Questa è la funzione findOne che ho usato:

User.findOne({'local.rooms': {$elemMatch: {name: req.body.username}}}, function (err, user) {

        if (err){
            return done(err);
        }    

        if (user) {
            console.log("ROOM NAME FOUND");
            req.roomNameAlreadyInUse = true;
            next();

        } else {
            req.roomNameAlreadyInUse = false;
            console.log("ROOM NAME NOT FOUND");
            next();

        }

    });