【发布时间】:2015-09-13 18:17:57
【问题描述】:
我正在使用 MEAN.IO 堆栈(Mongoose 的默认模板)和 Passport.js 身份验证来创建新用户。每当在下面的代码中调用 user.save(...) 时:
// Use Facebook strategy
passport.use(new FacebookStrategy({
clientID: config.strategies.facebook.clientID,
clientSecret: config.strategies.facebook.clientSecret,
callbackURL: config.strategies.facebook.callbackURL
},
function(accessToken, refreshToken, profile, done) {
User.findOne({
'facebook.id': profile.id
}, function(err, user) {
if (user) {
return done(err, user);
}
user = new User({
name: profile.displayName,
email: profile.emails[0].value,
provider: 'facebook',
facebook: profile._json,
roles: ['authenticated']
});
user.save(function(err) {
if (err) {
console.log(err);
return done(null, false, {message: 'facebook login failed, email already used by other login strategy'});
} else {
return done(err, user);
}
});
});
}
));
控制台记录以下错误:
MongoError: attempt to use unsupported textIndexVersion 2, only textIndexVersion 1 supported
我在网上查看了 MEAN.IO 堆栈代码,但找不到任何有关如何更改 textIndexVersion 的信息。
任何想法如何更改版本或修复此错误?
【问题讨论】:
标签: node.js mongodb mongoose passport.js mean-stack