我在 Node.js 中使用 Mongoose 和 PassportJS 进行 MongoDB 集成。
为 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
数据库中存在确切的值。