2017-04-17 17 views
-3

検索時に私は同じ_idの異なる都市名を持つ結果を得ました。例えば:私は結果に得た同じIDを比較します

[ {_id:1、 都市: "バンガロール" }、{ _id:1、 都市: "チェンナイ" }]。

[ { _id:1、 都市: "バンガロール"、 都市: "チェンナイ" }

代わりに別個のレコードに示すの

は次のように一つのレコードにそれらを示す図です。

ありがとうございます。 _idといくつかの検索クエリと

+0

してください[編集]あなたの質問のような配列であってもよい1です。レコードがセミコロンで区切られた文字列か、オブジェクトや何かの配列ですか? JSの関連する行を表示します。 – nnnnnn

+0

正しいデータをJSON形式で入力してください。あなたの現在のデータは構文エラーをスローします... –

答えて

0

あなたが取得している場合の結果は、それはあなたの最初のデータのフォーマットが何であるかを明確にするために

let array = [{ "city_id": { "_id": "58b7b12380c88f0f5495390b", "city": "Chennai" }, "country_id": { "_id": "58b7b10180c88f0f54953909", "country": "India" }, }, { "city_id": { "_id": "58f22ecca426d6bc1c8b46df", "city": "Mumbai" }, "country_id": { "_id": "58b7b10180c88f0f54953909", "country": "India" }}]; 

let country_ids = array.map((o)=> o.country_id) 

// Remove duplicate ids from country_ids 

let results = []; 

country_ids.map((country) => { 
    results.push({ 
     country_id: country, 
     cities: array.filter((obj)=> obj.country_id._id === country._id).map((y) => y.city_id) 
    }) 
}) 

console.log(results); 
+0

私は入力データを渡すことなく、すべての同じ_idをフィルタリングし、その特定のIDに都市名をプッシュします –

+0

同じ_id値を持つかもしれない複数のオブジェクトを持つ大きな配列を持っていますか?同じ配列をIDでフィルタリングしたいのですか?もう1つは、{_id:1、city: "Bangalore"、city: "Chennai"}はオブジェクト内に同じキーを複数回置かないでください。これは必須ですか? – Harish

+0

[ { "CITY_ID":{ "_id": "58b7b12380c88f0f5495390b"、 "都市": "チェンナイ" }、 "COUNTRY_ID":{ "_id": "58b7b10180c88f0f54953909"、 "国" "インド" }、 }、 { "CITY_ID":{ "_id": "58f22ecca426d6bc1c8b46df"、 "都市": "ムンバイ" }、 "COUNTRY_ID":{ 「_id ":" 58b7b10180c88f0f54953909 "、 「国」:「インド」 }、 } ] –

関連する問題