Пожалуйста, помогите мне в обновлении вложенного поля пользовательского документа. У меня есть пользовательский документ с видимым полемByTheUser с аватаром, именем, email в качестве полей. Я хочу обновить только поле AvatarUrl, когда загружается профиль pic. Когда я пытаюсь обновить его, он переопределяет полный объект. Для справки найдите мой код обслуживания ниже.
var headers = {
'Authorization': 'Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==',
'contentType' : 'application/json',
'X-BAASBOX-APPCODE' : baasboxAppCode,
'X-BB-SESSION' : window.localStorage.getItem("userToken")
};
//TODO: Change the updation format.
//Below format is overriding the complete object.
var data = {
"visibleByTheUser": {
"avatarUrl" : updatedAvatarUrl
},
};
url = serverUrl+ '/me';
var promise = $http({
method: "PUT",
url : url,
headers : headers,
data: data
});
promise.then(function(data){
console.log("success data in ProfileUpdation is:"+ JSON.stringify(data));
});
promise.error(function(error) {
console.log("error in ProfileUpdation is:",JSON.stringify(error));
});
return promise;
Я понял этот ответ. Вместо того, чтобы обновлять определенное поле вложенных объектов в Baasbox, это невозможно, чтобы обновить все поле с вложенными объектами в нем.
Вот код, который я использую для этого
avatrUrlUpdation : function(visibleByTheUserforUpdation){
/*console.log("entered into avatarUrlUpdation");*/
var headers = {
'Authorization': 'Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==',
'contentType' : 'application/json',
'X-BAASBOX-APPCODE' : baasboxAppCode,
'X-BB-SESSION' : window.localStorage.getItem("userToken")
};
//TODO: Change the updation format.
//Below format is overriding the complete object.
var data = {
"visibleByTheUser" : visibleByTheUserforUpdation
};
url = serverUrl+ '/me';
var promise = $http({
method: "PUT",
url : url,
headers : headers,
data: data
});
promise.then(function(data){
console.log(data);
});
promise.error(function(error) {
console.log("error in ProfileUpdation is:",JSON.stringify(error));
});
return promise;
}