ฉันมีอาร์เรย์ที่มีวัตถุอยู่ ซึ่งจะถูกส่งกลับไปยังไคลเอ็นต์ผ่านเซิร์ฟเวอร์ node.js ที่ทำงานด้วย mongodb ฉันต้องการเลือกคีย์/ฟิลด์ทั้งหมดในวัตถุ (เช่น ชื่อ นามสกุล โทรศัพท์) แต่ไม่ใช่ค่า (เช่น ฉันแค่ต้องการสตริง "ชื่อ" และไม่ใช่ค่า "บางชื่อ") จากนั้นจึงเติมคีย์เหล่านั้นในเมนูที่เลือก ใช้ jquery
[
{
"name": "some name",
"surname": "some surname",
"telephone": "123456",
"address": "street123",
"_id": "52751d39b188f14026002711"
}
]
ด้านล่างนี้คือวิธีที่ฉันรับเอกสารในรูปแบบ json ไปยังไคลเอนต์ และวิธีเติมเมนูเลือก (#parameter) ขณะนี้กำลังเติมข้อมูลการเลือกด้วยเอกสาร json ทั้งหมด ซึ่งหมายถึงคู่คีย์/ค่าทุกคู่
$.getJSON("http://localhost:3000/findAll/"+ coll, function (result) {
$.each(result, function(i){
$('#parameter').append('<option>'+JSON.stringify(result[i])+'</option>')
})
});
ส่วนที่สองของคำถามคือวิธีเลือกคีย์ที่แตกต่าง/ไม่ซ้ำกัน หากฉันได้รับเอกสาร mongodb หลายชุดที่มีคีย์ต่างกันไปยังไคลเอนต์ เพื่อให้ชัดเจนบทบาทของเมนูเลือกคือเพื่อให้ผู้ใช้สามารถเลือกคีย์ที่ต้องการค้นหาคอลเลกชันทั้งหมดใน mongodb ฉันไม่แน่ใจว่าฉันชัดเจนหรือไม่ แต่การตอบคำถามอย่างน้อยส่วนแรกจะได้รับการชื่นชมมาก