2017-08-31 65 views
-2

我試圖通過檢查用戶名和密碼執行登錄操作是正確的,但問題是如果我檢查與查找操作它只是返回我的ID單獨我希望它返回整個領域的實例,如果它是一個匹配,它應該返回給我特定用戶的所有詳細信息:用戶名,電子郵件,密碼,DOB的所有詳細信息。但我的查詢只返回id。查詢是在MongoDB中查找

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

,如果我通過執行的NodeJS返回Id和單獨

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

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

回答

2

密碼find()第一個參數是查詢,第二個參數是投影。

你在做userSchema.find(query, projection)反對只是userSchema.find(query)

你想

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

此外,由於你正在尋找一個項目,使用findOne()find()

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

感謝米奇分配一般查詢是用戶登錄檢查我聽說像使用PassportJS驗證 – Kannan

+0

@kannan兩個不同的事情真的正確的方法。您的查詢只能找到用戶 - 僅此而已。 [Passport.js](http://passportjs.org/)用於身份驗證(包括查找用戶)。 – Mikey