У меня есть массив с объектом в нем, который возвращается клиенту через сервер node.js, работающий с mongodb. Я хочу выбрать все ключи/поля в объекте (то есть имя, фамилию, телефон), но не их значения (т.е. просто хочу «имя», а не «какое-то имя»), а затем для заполнения этих клавиш в меню выбора используя jquery.Задать выбор клавишами от json
[
{
"name": "some name",
"surname": "some surname",
"telephone": "123456",
"address": "street123",
"_id": "52751d39b188f14026002711"
}
]
Ниже, как я получить документы в формате JSON для клиента, и как я заполнить меню выбора (#parameter). Прямо сейчас он заполняет select целым json-документом, что означает каждую пару ключ/значение.
$.getJSON("http://localhost:3000/findAll/"+ coll, function (result) {
$.each(result, function(i){
$('#parameter').append('<option>'+JSON.stringify(result[i])+'</option>')
})
});
Вторая часть вопроса в том, как выбрать различные/уникальные ключи, если я получить несколько MongoDB документов с разными ключами клиента. Чтобы быть понятным, роль меню выбора заключается в том, чтобы пользователь мог выбрать, по какому ключу он хочет искать всю коллекцию в mongodb. Я не уверен, ясно ли я здесь, но, по крайней мере, первая часть вопроса была бы очень оценена.
Ничего себе, спасибо за быстрый ответ, он работал как шарм, очень ценится. О второй части вопроса. Предположим, что я получил вышеупомянутый json для клиента, а также другой объект, который имеет все ключи, как первый. Как заполнить меню выбора только с помощью уникальных клавиш, а не с теми же клавишами два или более. Потому что теперь, если у меня есть 2 объекта с одинаковыми клавишами, он будет вставляться, и клавиши будут повторяться внутри меню выбора. Извините, если это хромая проблема, я как бы новичок. – Case09
Ну, это зависит от вашего пользовательского интерфейса. Как пользователь получит доступ к каждому из двух отдельных объектов? Будет ли у вас еще один выпадающий список, в котором перечислены объекты? Этот раскрывающийся список #parameter должен использоваться только для одного объекта за раз. – pax162