Algolia에서 PartialUpdateObject
을 사용하려면 저도 objectID
을 알아야합니다. SourceAlgolia에서 objectID 대신 특정 키를 사용하여 부분 업데이트 JSON 객체
그러나 내 경우에는 바로 objectID
을 알지 못합니다. 설명해 드리겠습니다 ...
나는 음악가가 음악을 제출할 수있는 음악 사이트를 가지고 있으며 노래 정보로 가득 찬이 JSON은 Algolia의 색인에 저장됩니다. 이제 아티스트는 프로필을 업데이트 할 수도 있습니다 (예 : 아티스트 이름 변경 등). 두 개의 인덱스가 있습니다. 노래 정보가 모두 포함 된 Song
과 아티스트 정보가 포함 된 Artist
이 있습니다. 아티스트가 아티스트 이름을 변경하기 위해 프로필을 편집 할 때이 변경 사항이 그의 Artist
계정 JSON 및 그/그녀가 업로드 한 모든 노래에 반영되도록 노력하고 있습니다. JSON이 노래면에서 업데이트되지 않았다면 여전히 이전 이름을 표시합니다 ... 좋지 않습니다!
{
"AccountInfoID": 94,
"AccountType": "Artist",
"DisplayName": "Unlike Pluto",
"ImageURL": "https://ucarecdn.com/81abba2d-7966-48ac-abab-79a2ecc97811/",
"UserID": "",
"objectID": "94"
}
가 Song
JSON의 모습입니다 :
다음은 Artist
JSON의 모습입니다. 또한 두 개의 json 파일 사이의 하나의 상수가 AccountInfoID
인 경우 노래에 아티스트와 연결되는 점에 유의하십시오.이 경우에는 명왕성과 다릅니다. Song
의 objectID
은 다릅니다. 내가 다른 노래를 업로드 할 수 있다면 그리고, 다음의 모든 값이 AccountInfoID
제외하고 다른 것 (단지 명확히하기 위해) : 그러나
dynamic registerArtistObjs = new JObject();
registerArtistObjs.DisplayName = accountInfo.DisplayName;
registerArtistObjs.ImageURL = accountInfo.ImageURL;
registerArtistObjs.objectID = accountInfo.AccountInfoID;
var artistIndexHelper = HttpContext.Application.Get("ArtistIndexHelper") as IndexHelper<ArtistAlgoliaModel>;
artistIndexHelper.PartialUpdateObject(registerArtistObjs);
:
{
"ApprovalFL": true,
"FreeFL": true,
"LicenseFL": true,
"AccountInfoID": 94,
"AlbumID": 117,
"SongID": 105,
"BPM": 92,
"AccountImageURL": "https://ucarecdn.com/81abba2d-7966-48ac-abab-79a2ecc97811/",
"AccountType": "Artist",
"AlbumName": "Let It Bleed",
"Artist": "Unlike Pluto",
"FeaturedArtist": "Cristina Gatti",
"ImageURL": "https://ucarecdn.com/d60c9302-eacf-4050-920d-9d54ce93cd46/",
"iTunesURL": null,
"LabelName": "Lowly Palace",
"Title": "Let It Bleed",
"URL": "https://ucarecdn.com/b75e6e30-7082-49e5-b5d5-93d23e74af21/",
"UserID": "",
"UploadDate": "2017-12-16T01:55:22.81",
"Duration": "2017-12-16T00:03:20",
"objectID": "105"
}
는 아티스트 JSON을 업데이트하려면, 그것은 별거 아니 , 그 아티스트가 업로드 한 모든 노래를 찾을 수 있어야하므로 노래 업데이트가 더 까다 롭습니다. 위에서 언급 한 바와 같이 AccountInfoID: 94
으로 모든 노래를 찾아서 objectID
을 얻고 노래 JSON에서 Artist
을 업데이트해야합니다. 그 일을하는 가장 좋은 방법은 무엇입니까? 아니면 내가 누락 된 쉬운 방법이 있습니까? 나는 송 지수의 아티스트 이름을 업데이트 할 수있는 코드를 어디에 있어요 여기
입니다,하지만 난 예를 들어이 포함 된 송 지수, AccountInfo: 94
에서 모든 objectID
값을 구하는 방법에 대한 단서가 없다 :
dynamic registerSongObjs = new JObject();
registerSongObjs.Artist = accountInfo.DisplayName;
registerSongObjs.objectID = ??????????Possibly Multiple values?????????
var songIndexHelper = HttpContext.Application.Get("SongIndexHelper") as IndexHelper<SongAlgoliaModel>;
songIndexHelper.PartialUpdateObject(registerSongObjs);
@mjwills : –