我正在使用Mongoose在Node.js中集成MongoDB以及PassportJS。
为Twitter定义架构:
var twitterUserSchema = new mongoose.Schema({
account: { provider: String,
id: String},
username: String,
name: String,
displayName: String,
email: String,
});
var twitterUser= mongoose.model('twitterUser', twitterUserSchema);
var twitterUserInstance = new twitterUser;
使用passport-twitter
提供的身份验证策略:
passport.use(new TwitterStrategy({
consumerKey: TWITTER_CONSUMER_KEY,
consumerSecret: TWITTER_CONSUMER_SECRET,
callbackURL: "/auth/twitter/callback"
},
function(accessToken, refreshToken, profile, done)
{process.nextTick(function () {
twitterUser.find({account: {id: profile.id}}, function(err, Tuser) {
console.log(TIU.length);
在上面的代码中,
twitterUser.find({account: {id: profile.id}, function(err, Tuser) {
console.log(Tuser.length);
始终将Tuser.length
打印为0
,即使数据库中存在确切的id
。