{"EmailAddress": "matthew.harris@patheer.com",
"CompanyName": "Patheer",
"Image": "user/img/matthew.harrispatheer.commatthew2.jpg",
"FirstName": "Matthew",
"LastName": "Harris",
"JobFunction": "Information Technology",
"PatheerJobsID": "B5PL0YqCeEe7np2j50h5Q",
"JobTitle": "Database Administrator",
"Aspirations": [
{
"PatheerJobsID": "685a215b4b0f418dbbf9285b28377c21",
"JobTitle": "Data Scientist",
"JobFunction": "Information Technology"
}],
"Skills": [
{
"SkillID": "2vRdiqCOE2XBDS3nsS1LA",
"SkillName": "SQL",
"SkillRating": 3
},
{
"SkillID": "WEPMtg3JkU2xlpmgmvkYQ",
"SkillName": "Accounting",
"SkillRating": 4
},
{
"SkillID": "d9c514035a554a5d8d99c411e43b683d",
"SkillName": "Leadership",
"SkillRating": 4
},
{
"SkillID": "p2Aljae1EK3VDpx25dTKw",
"SkillName": "MongoDB",
"SkillRating": 3
},
{
"SkillID": "c8fc21d83ea94842a8ae416df9317305",
"SkillName": "Business Development",
"SkillRating": 4
},
{
"SkillID": "8f0a439029784e4e827e343e7f9034b2",
"SkillName": "GAAP",
"SkillRating": 3
}],
"objectID": "0157be4b-3426-4854-95b5-88e39cbc2403"
}
所以上面是我的JSON,我正在尝试添加到Skills数组中。这是我的代码。这有什么问题?我正在使用C#.....以下是我的功能#34;尝试"添加到数组但它不起作用。根据Algolia网站的主要功能是" AddUnique",这里是链接,但我有点失落https://www.algolia.com/doc/csharp#update-an-existing-object-in-the-index
string algoliakey = System.Configuration.ConfigurationManager.AppSettings["AlgoliaKey"];
string algoliasecret = System.Configuration.ConfigurationManager.AppSettings["AlgoliaSecret"];
AlgoliaClient client = new AlgoliaClient(algoliakey,algoliasecret);
var index = client.InitIndex("People");
string objectID = personid;
StringBuilder updatealgolia = new StringBuilder();
updatealgolia.Append("{\"Skills\": {\"SkillID\":\"" + skillid + "\", \"SkillName\":\"" + skillname + "\", \"SkillRating\":5, \"_operation\": \"AddUnique\"}, \"objectID\":\"" + objectID + "\"}");
index.PartialUpdateObject(JObject.Parse(updatealgolia.ToString()), false);
答案 0 :(得分:3)
是的,它总是可行的。
但是,您没有使用正确的语法。您要添加的技能元素必须位于value
字段中,如C# client documentation所示。
在您的情况下,您只需要重新格式化您的JSON:
{
"objectID": "<OBJECT_ID>",
"Skills": {
"_operation": "AddUnique",
"value": {
"SkillID": "<SKILL_ID>",
"SkillName": "<SKILL_NAME>",
"SkillRating": <SKILL_RATING>
}
}
}