2017-09-27 8 views
0

nodeJSとJSonの初心者のために私は2日間frustatedです。 私の英語が苦手な私は、サブデータでデータを検索し、結果をブラウザに入力するケースがあります。 これは私のコードです:subArrayの基準で検索し、nodeJSとNeDbで結果を取得

var doc = [{ 
    "name": "yadi", 
    "hobby": [{ 
    "home": "watch news", 
    "bed_room": "read comics" 
     }, { 
    "home": "watch ufc", 
    "bed_room": "eat candy" 
     }] 
}, 
    "name": "dony", 
    "hobby": [{ 
    "home": "sleep", 
    "bed_room": "eat dog food" 
     }, { 
    "home": "watch disney", 
    "bed_room": "breathing" 
     }] 
}]; 
var db = new Nedb();db.insert(doc, function(err, newDoc) { 
console.log(JSON.stringify(newDoc, null, ' ')); 
//search data 
db.find({ 
    "name": "yadi" 
    }, { 
    "hobby": { 
     $elemMatch: { 
     "home": "watch news" 
     } 
    } 
    }, function(err, docs) { 

    console.log ("RESULT "+JSON.stringify(docs, null, ' ')); 

}) 
}) 

私はこの結果を使用してデータを取得できますか?

"hobby": [{ 
    "home": "watch news", 
    "bed_room": "read comics" 
     }] 
+0

あなたはどのような問題に直面していますか?任意のエラー? – sidgate

+0

私は特定の条件でデータサブアレイを取得できません –

+0

解決策は見つかりましたか?興味ある。 – Gilsdav

答えて

0

次のように動作します。あなたは基本的にこことそこにいくつかの角括弧と投影に"_id": 0を除いて、多くを欠場していません。

var doc = [{ 
    "name": "yadi", 
    "hobby": [{ 
     "home": "watch news", 
     "bed_room": "read comics" 
    }, { 
     "home": "watch ufc", 
     "bed_room": "eat candy" 
    }] 
}, { 
    "name": "dony", 
    "hobby": [{ 
     "home": "sleep", 
     "bed_room": "eat dog food" 
    }, { 
     "home": "watch disney", 
     "bed_room": "breathing" 
    }] 
}]; 

var db = new Nedb(); 
db.insert(doc, function(err, newDoc) { 
    console.log(JSON.stringify(newDoc, null, ' ')); 
}); 

//search data 
db.find({ 
    "name": "yadi" 
}, { 
    "_id": 0, // exclude _id 
    "hobby": { 
     $elemMatch: { 
      "home": "watch news" 
     } 
    } 
}, function(err, docs) { 
    console.log ("RESULT "+JSON.stringify(docs, null, ' ')); 
}); 
関連する問題