2017-08-31 77 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