如何更新猫鼬中的对象
How to update object in mongoose
我的架构如下所示:
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);
}
}
);
我认为你的理解恰恰相反:
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);
}
}
);
我的架构如下所示:
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);
}
}
);
我认为你的理解恰恰相反:
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);
}
}
);