2016-05-18 11 views
0
{"EmailAddress": "[email protected]", 
    "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がスキル配列に追加しようとしています。ここに私のコードです。何が問題なの?私はC#を使用しています.....そして、以下は配列に追加しようとする "try"関数ですが、それは動作しません。 Algoliaのウェブサイトによると主な機能は、「AddUnique」で、ここにリンクがあるが、私は少しhttps://www.algolia.com/doc/csharp#update-an-existing-object-in-the-indexAlgolia入れ子配列に追加

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

あなたが何をしたいのではなく、何を得ていますか?これまでに何を試しましたか?また、String.Formatはあなたの友人です。 –

+0

私はエラーが発生します:Algolia.Search.AlgoliaException:行の近くの操作の値が見つかりません:1列:116 私はそれを動作させることができますそれは配列を作るが、それは単に配列をオーバーライドします。 –

答えて

3

を失っていますはい、それはtotatllyなんとかです。

ただし、正しい構文を使用していません。追加したいスキル要素は、のようにvalueフィールドにある必要があります。あなたのケースでは

、あなたは、単にそのようなあなたのJSONを再フォーマットする必要があります。

{ 
    "objectID": "<OBJECT_ID>", 
    "Skills": { 
    "_operation": "AddUnique", 
    "value": { 
     "SkillID": "<SKILL_ID>", 
     "SkillName": "<SKILL_NAME>", 
     "SkillRating": <SKILL_RATING> 
    } 
    } 
} 
関連する問題