Algolia 添加到嵌套数组

Algolia Add to nested array

 {"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# ..... 下面是我的 "try" 添加到数组的函数,但它不起作用。根据Algolia网站的主要功能是"AddUnique",这里是link,但是我有点迷路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);

是的,完全可行。

但是,您没有使用正确的语法。您要添加的技能元素必须位于 value 字段中,如 C# client documentation.

中所示

在你的情况下,你只需要像这样重新格式化你的 JSON:

{
  "objectID": "<OBJECT_ID>",
  "Skills": {
    "_operation": "AddUnique",
    "value": {
      "SkillID": "<SKILL_ID>",
      "SkillName": "<SKILL_NAME>",
      "SkillRating": <SKILL_RATING>
    }
  }
}