我编写了以下方法,通过电子邮件在数据库中搜索用户。
/**
* Find a user by providing their email address
*/
DataProvider.prototype.findUserByEmail = function(callback, email) {
console.log("in findUserByEmail");
User.findOne({
emailAddress : email
}, function(error, user) {
if(error) {
console.log(error);
callback(error);
}
else {
console.log(user);
callback(user);
}
});
};
我正试图用以下方法测试它:
function testFindUserByEmail() {
var expectedEmail = "user@user.com";
data.findUserByEmail(function(user) {
if (user.emailAddress === expectedEmail) {
console.log("User found");
} else {
console.log("User not found");
}
console.log(user);
}, "user@user.com");
console.log("test");
}
我得到了一个结论: 在findUserByEmail中 测试
就像User.findOne()没有被调用,我不知道为什么。 其他信息:
var UserSchema = new Schema({
emailAddress : {
type : String
},
occupation : {
type : String
},
token : {
type : String
},
password : {
type : String
},
registrationDate : {
type : Date
},
activated : {
type : Boolean
}
});
/**
* Define Model
*/
var User = mongoose.model('User', UserSchema);
DataProvider = function() {
};
答案 0 :(得分:1)
你是否连接了数据库,
尝试:mongoose.connect('db-uri', function (err) {
next(err);
});