我的架构看起来像这样:
var userSchema = mongoose.Schema({
facebook : {
id : String,
token : String,
email : String,
name : String
},
twitter : {
id : String,
token : String,
displayName : String,
username : String
},
google : {
id : String,
token : String,
refreshToken : String,
email : String,
name : String
},
slack : {
id : String,
token : String,
teamId : String,
name : String
}
});
我希望在给出refreshToken的情况下更新google的访问令牌。我怎样才能做到这一点?
我试过了,但它似乎无法正常工作
UserModel.update(
{ 'google.refreshToken': refreshToken },
{token: 'asdf'},
{multi: false},
function (err, raw) {
if (err) {
console.log('Error log: ' + err)
} else {
console.log("Token updated: " + raw);
}
}
);
答案 0 :(得分:1)
我认为你已经反过来了:
UserModel.update(
{ "google.refreshToken": refreshToken },
{ "$set": { "google.token": "asdf" } },
function (err, raw) {
if (err) {
console.log('Error log: ' + err)
} else {
console.log("Token updated: " + raw);
}
}
);