2017-08-31 1 views
-2

Ich versuche, Login-Vorgang durch die Überprüfung des Benutzernamens und des Passworts zu korrigieren, aber das Problem ist, wenn ich mit Find-Operation überprüfen, gibt es nur die ID allein ich will es das gesamte Feld für eine Instanz zurückgeben, wenn es ist eine Übereinstimmung es sollte mir alle Details des bestimmten Benutzers ex zurückgeben: Benutzername, E-Mail, Passwort, DOB alle Details. Aber meine Abfrage gibt nur ID zurück. Die Abfrage istSuchen in MongoDB

db.users.find({"email":"[email protected]"},{"pasword":"1345"})  

Und wenn ich über NodeJS ausführen gibt sie die ID und das Passwort allein

userSchema.find({"email":req.body.email},{"password":req.body.pwd},function(err,item) { 

    if(err) throw err; 
    console.log("item " + item); 
}) 

Antwort

2

Das erste Argument für find() ist die Abfrage, das zweite Argument Projektion ist.

Sie tun userSchema.find(query, projection) im Gegensatz zu nur userSchema.find(query).

Sie wollen

userSchema.find({ email: "[email protected]", pasword: "1345" }) 

Auch da Sie für einen Artikel suchen, verwenden Sie findOne() nicht find().

userSchema.findOne({ email: "[email protected]", pasword: "1345" }) 
+0

Dank zuzuteilen Mikey eine allgemeine Abfrage ist es richtige Weg für die Prüfung der Benutzeranmeldung i wie Verwendung PassportJS zur Überprüfung – Kannan

+0

@kannan zwei verschiedene Dinge wirklich gehört haben. Ihre Suchanfrage findet nur den Benutzer - nichts mehr. [Passport.js] (http://passportjs.org/) dient zur Authentifizierung (einschließlich der Suche nach dem Benutzer). – Mikey

Verwandte Themen