Простая функция, допускающая либо путь строки, либо массив.
function get(obj, path) {
if(typeof path === 'string') path = path.split('.');
if(path.length === 0) return obj;
return get(obj[path[0]], path.slice(1));
}
const obj = {a: {b: {c: 'foo'}}};
console.log(get(obj, 'a.b.c')); //foo
ИЛИ
console.log(get(obj, ['a', 'b', 'c'])); //foo
Я не знаю никакой функции вроде этого как часть MySQL.
Альтернативным решением может быть использование функции importHtml в электронной таблице Google.
Таблицы Google позволяют вам импортировать данные в Интернете
g0]
Нет, слава богу, это был ужас безопасности. Каждое отверстие для инъекций SQL в приложении может быть использовано для запуска спам-соединений для атаки на другие сайты.
Вы могли бы, я полагаю, записать его на C и скомпилировать его как UDF. Но я не думаю, что это действительно дает вам что-либо по сравнению с просто SELECT в вашем прикладном уровне и зацикливание результатов, выполняющих HTTP GET и UPDATE. Если мы говорим о создании HTTP-соединений, дополнительная эффективность выполнения этого в слое базы данных будет в любом случае полностью затмевана сетевыми задержками.
Неправда. Лучшая практика в веб-среде заключается в том, что серверы баз данных изолированы снаружи, в обоих направлениях, что означает, что db-серверу не разрешат извлекать данные из Интернета.
Не делайте этого.
Если вы абсолютно уверены, что хотите получать веб-контент из среды SQL, то насколько я знаю две возможности:
Если вы не слишком суетились о том, чтобы придерживаться SQL, вы можете использовать что-то вроде eXist . Вы можете сделать это довольно легко с помощью XQuery и могли бы легко изменить результаты в соответствии с вашей схемой (а не просто вставлять их в поле blob) или сохранить страницу «как есть» в качестве документа xhtml в БД.
Затем вы можете быстро запускать запросы во всех документах, например, получить все ссылки или цитаты или что-то еще. Вы даже можете применить XSL к такому результату с очень небольшой дополнительной работой. Отлично, если вы сохраняете страницы для справки и хотите приспособить результаты к личным «интранет-стильным» приложениям.
Также, поскольку eXist ориентирован на документ, у него есть много отличных методов для нечеткого текста поиск в поисковых системах, поиск по слову и большой текстовый индекс (намного лучше, чем MySQL). Идеально, если вы после выполнения некоторого интеллектуального анализа данных на контенте, например: найдите мне все документы, где слово типа « burger » в 50 словах «hotdog», где слово не находится в Список UL. Попробуйте сделать , что является родным в MySQL!
Как в сторону, так и без злого умысла; Я часто задаюсь вопросом, почему eXist пересматривается, когда люди строят CMS. Его база данных, которая может хранить содержимое в своем собственном формате (XML или его подмножество (x) HTML), запросит его с легкостью в своем родном формате и может перевести его из его собственного формата с мощным языком шаблонов, который выглядит и действует как его собственный формат . Иногда SQL просто неправильно для работы!
Извините. Не значит, что вафли! : - $