{"id":198738,"date":"2013-10-23T21:14:07","date_gmt":"2013-10-23T17:14:07","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=198738"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=198738","title":{"rendered":"<span class=\"post_title\">\u0423\u0434\u043e\u0431\u0441\u0442\u0432\u0430\u043c\u0438 \u043d\u0430 \u0443\u043b\u0438\u0446\u0435 \u0434\u043b\u044f MySQL \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 \u0432 Node.js<\/span>"},"content":{"rendered":"<div class=\"content html_format\">   \t<img decoding=\"async\" align=\"left\" src=\"http:\/\/habr.habrastorage.org\/post_images\/468\/fdb\/eb8\/468fdbeb8f1e4a0b98e11fbdf74a7cb6.jpg\"\/>\u041a\u0442\u043e \u043f\u0438\u0448\u0435\u0442 \u043d\u0430 Node.js \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 MySQL, \u0442\u043e\u0442 \u043d\u0435\u043f\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0437\u043d\u0430\u0435\u0442, \u0447\u0442\u043e \u043d\u0430\u0448 \u0434\u043e\u0440\u043e\u0433\u043e\u0439 \u0442\u043e\u0432\u0430\u0440\u0438\u0449 <a href=\"https:\/\/github.com\/felixge\"><b>Felix Geisend\u00f6rfer<\/b><\/a> \u0442\u0440\u0438 \u0433\u043e\u0434\u0430 \u043d\u0430\u0437\u0430\u0434 \u0441\u043e\u0432\u0435\u0440\u0448\u0438\u043b \u0433\u0435\u0440\u043e\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0438 \u0441\u0430\u043c\u043e\u043e\u0442\u0432\u0435\u0440\u0436\u0435\u043d\u043d\u044b\u0439 \u043f\u043e\u0434\u0432\u0438\u0433: \u0432 \u043e\u0434\u0438\u043d\u043e\u0447\u043a\u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043b \u043e\u0447\u0435\u043d\u044c <a href=\"https:\/\/github.com\/felixge\/node-mysql\">\u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 <b>\u0434\u0440\u0430\u0439\u0432\u0435\u0440<\/b><\/a> \u0434\u043b\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a MySQL, <b>\u043d\u0430\u0442\u0438\u0432\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0432 \u0434\u0432\u043e\u0438\u0447\u043d\u044b\u0439 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b<\/b> \u044d\u0442\u043e\u0439 \u0421\u0423\u0411\u0414 \u043d\u0430 JavaScript. \u041f\u043e\u0442\u043e\u043c \u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0443 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u043b\u0438\u0441\u044c \u0434\u0440\u0443\u0433\u0438\u0435 \u0443\u0432\u0430\u0436\u0430\u0435\u043c\u044b\u0435 \u0442\u043e\u0432\u0430\u0440\u0438\u0449\u0438, \u0431\u044b\u043b\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043f\u0443\u043b\u043e\u0432 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439, \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432, \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439, \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0443\u0442\u0435\u0440\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0438 \u0442.\u0434. \u0421\u0435\u0439\u0447\u0430\u0441 <a href=\"https:\/\/npmjs.org\/package\/mysql\">\u0434\u0440\u0430\u0439\u0432\u0435\u0440<\/a> \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0430\u043c\u044b\u043c \u0440\u0430\u0437\u0432\u0438\u0442\u044b\u043c, \u0445\u043e\u0440\u043e\u0448\u043e \u043f\u0440\u043e\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u043c \u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u043c \u0438\u0437 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043c\u044b \u0438\u043c\u0435\u0435\u043c \u0432 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0445 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u0430\u0440\u0438\u044f\u0445 npm \u0438 github. <b>\u0423\u0434\u0438\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e <\/b>\u0434\u0430\u0436\u0435, \u0447\u0442\u043e \u043f\u0440\u0438 \u0445\u043e\u0440\u043e\u0448\u043e \u043f\u0440\u043e\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u043e\u0439 \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438, <b>\u0432\u0441\u0435 \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430<\/b>, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u044d\u0442\u043e \u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u0434\u043b\u044f \u043f\u0440\u0438\u043a\u043b\u0430\u0434\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430, \u0441\u0432\u043e\u0434\u044f\u0442\u0441\u044f \u043a \u043e\u0434\u043d\u043e\u043c\u0443 \u043c\u0435\u0442\u043e\u0434\u0443 query. \u0414\u043b\u044f \u043c\u0435\u043d\u044f \u043b\u0438\u0447\u043d\u043e, \u044d\u0442\u043e\u0433\u043e \u043e\u0447\u0435\u043d\u044c \u043c\u0430\u043b\u043e, \u043d\u0443 \u043f\u0440\u0438\u0432\u044b\u043a \u0434\u0435\u0434\u0443\u0448\u043a\u0430 \u043a \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430\u043c \u0434\u043b\u044f \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430 \u0441\u043a\u0430\u043b\u044f\u0440\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439, \u0441\u0442\u0440\u043e\u043a \u0438 \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u044b, \u0438\u043d\u0442\u0440\u043e\u0441\u043f\u0435\u043a\u0446\u0438\u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440 \u0411\u0414. \u0422\u0430\u043a \u0447\u0442\u043e, \u0441 \u0443\u0434\u043e\u0432\u043e\u043b\u044c\u0441\u0442\u0432\u0438\u0435\u043c \u0434\u0435\u043b\u044e\u0441\u044c \u044d\u0442\u0438\u043c\u0438 \u043d\u0430\u0440\u0430\u0431\u043e\u0442\u043a\u0430\u043c\u0438 \u0441 \u0432\u0430\u043c\u0438, \u043c\u043e\u0438 \u0434\u043e\u0440\u043e\u0433\u0438\u0435 \u0425\u0430\u0431\u0440\u0430\u0432\u0447\u0430\u043d\u0435, \u043d\u043e \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0430\u044e, \u0447\u0442\u043e \u0432\u0441\u0435 \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 <b>\u0431\u0443\u0434\u0443\u0442 \u043d\u0430 \u0443\u043b\u0438\u0446\u0435<\/b>. \u0415\u0441\u0442\u044c \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0442\u0435\u0441\u043d\u043e\u0439 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u043c, \u043d\u043e <a href=\"https:\/\/github.com\/felixge\/node-mysql\/pull\/546#issuecomment-26407587\">FelixGe \u0436\u0435\u043b\u0430\u0435\u0442<\/a> \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u043c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0441\u044f \u043d\u0430 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0435 \u0432\u043d\u0435\u0448\u043d\u0435\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0441 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u043a \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0443 \u0447\u0435\u0440\u0435\u0437 \u043f\u0440\u0438\u043c\u0435\u0441\u0438. \u0412 \u0432\u0438\u0434\u0435 \u043f\u0440\u0438\u043c\u0435\u0441\u0435\u0439 \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u043f\u043e\u043f\u0430\u043b\u0438 \u0438 \u0432 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 <a href=\"http:\/\/habrahabr.ru\/post\/194250\/\">Impress<\/a>, \u0430 \u0442\u0430\u043a \u0436\u0435, \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u044b \u043a\u0430\u043a \u043f\u0430\u0442\u0447 \u043a \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0443. \u041e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0435 \u0438 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u043b\u0435\u0435.<br \/>  <a name=\"habracut\"><\/a>  <\/p>\n<h4>\u0423\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u0432\u044b\u0431\u043e\u0440\u043a\u0438 \u0434\u0430\u043d\u043d\u044b\u0445<\/h4>\n<p>  \u0414\u0430\u043b\u0435\u0435, \u043f\u043e\u0434 \u0441\u043b\u043e\u0432\u043e\u043c \u00ab\u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442\u00bb \u0431\u0443\u0434\u0443 \u0440\u0430\u0437\u0443\u043c\u0435\u0442\u044c \u0432\u0442\u043e\u0440\u043e\u0439 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440 callback, \u0430 \u043d\u0435 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442 \u0432\u044b\u0437\u043e\u0432\u0430 \u0444\u0443\u043d\u043a\u0446\u0438\u0438.<\/p>\n<p>  \u0412\u044b\u0431\u043e\u0440\u043a\u0430 <b>\u043e\u0434\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438<\/b>: connection.<b>queryRow<\/b>(sql, values, callback) \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0445\u0435\u0448 (\u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432), \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u043c \u0438\u043c\u0435\u043d\u0430 \u043f\u043e\u043b\u0435\u0439 \u0441\u0442\u0430\u043d\u043e\u0432\u044f\u0442\u0441\u044f \u043a\u043b\u044e\u0447\u0430\u043c\u0438 (\u0432\u043c\u0435\u0441\u0442\u043e \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u043c\u0430\u0441\u0441\u0438\u0432 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435 \u0447\u0435\u0440\u0435\u0437 query).  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0440\u0438\u043c\u0435\u0440<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">connection.queryRow('SELECT * FROM Language where LanguageId=?', [3], function(err, row) {     console.dir({queryRow:row});     \/* Example:         queryRow: {             LanguageId: 3,             LanguageName: 'Russian',             LanguageSign: 'ru',             LanguageISO: 'ru',             Caption: '\u0420\u0443\u0441\u0441\u043a\u0438\u0439'         }     *\/ }); <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u0412\u044b\u0431\u043e\u0440\u043a\u0430 <b>\u0441\u043a\u0430\u043b\u044f\u0440\u0430<\/b> (\u0442\u043e \u0435\u0441\u0442\u044c \u0435\u0434\u0438\u043d\u0438\u0447\u043d\u043e\u0433\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f): connection.<b>queryValue<\/b>(sql, values, callback) \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043e\u0434\u043d\u043e \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 (\u0432\u043c\u0435\u0441\u0442\u043e \u0442\u043e\u0433\u043e, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043b\u0443\u0447\u0430\u0442\u044c \u043c\u0430\u0441\u0441\u0438\u0432 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u0435 \u0441 \u043e\u0434\u043d\u0438\u043c \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435\u043c). \u0423\u0434\u043e\u0431\u043d\u043e \u043f\u0440\u0438 \u0432\u044b\u0431\u043e\u0440\u043a\u0435 \u043e\u0434\u043d\u043e\u0433\u043e \u043f\u043e\u043b \u0438\u0437 \u043e\u0434\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 Id \u043f\u043e \u0438\u043c\u0435\u043d\u0438 \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u0438\u0435\u043c LIMIT 1 \u0438\u043b\u0438 \u0444\u0443\u043d\u043a\u0446\u0438\u0439 count(*), max(field) \u0438 \u0442.\u0434.  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0440\u0438\u043c\u0435\u0440<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">connection.queryValue('SELECT LanguageName FROM Language where LanguageId=?', [8],     function(err, name) {     console.dir({queryValue:name});     \/* Example:         queryValue: 'Italiano'     *\/ }); <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u0412\u044b\u0431\u043e\u0440\u043a\u0430 <b>\u043e\u0434\u043d\u043e\u0439 \u043a\u043e\u043b\u043e\u043d\u043a\u0438<\/b>: connection.<b>queryArray<\/b>(sql, values, callback) \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043c\u0430\u0441\u0441\u0438\u0432, \u0437\u0430\u043f\u043e\u043b\u043d\u0435\u043d\u043d\u044b\u0439 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438 \u043e\u0434\u043d\u043e\u0433\u043e \u043f\u043e\u043b\u044f \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438, \u0438\u0437 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u0430. \u0422\u043e \u0435\u0441\u0442\u044c, \u044d\u0442\u043e \u0432\u044b\u0431\u043e\u0440\u043a\u0430 \u0432\u0435\u0440\u0442\u0438\u043a\u0430\u043b\u044c\u043d\u043e\u0439 \u043a\u043e\u043b\u043e\u043d\u043a\u0438, \u0432 \u043e\u0442\u043b\u0438\u0447\u0438\u0435 \u043e\u0442 \u0432\u044b\u0431\u043e\u0440\u043a\u0438 \u0433\u043e\u0440\u0438\u0437\u043e\u043d\u0442\u0430\u043b\u044c\u043d\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438 queryRow.  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0440\u0438\u043c\u0435\u0440<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">connection.queryArray('SELECT LanguageSign FROM Language', [], function(err, result) {     console.dir({queryHash:result});     \/* Example:         queryArray: [ 'de', 'en', 'es', 'fr', 'it', 'pl', 'ru', 'ua' ]     *\/ }); <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u0412\u044b\u0431\u043e\u0440\u043a\u0430 <b>\u0445\u0435\u0448\u0430 <\/b>: connection.<b>queryHash<\/b>(sql, values, callback) \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0445\u0435\u0448 (\u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432) \u0434\u0432\u0443\u0445\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u043e\u0439 \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u043e\u0441\u0442\u0438, \u0433\u0434\u0435 \u043a\u043b\u044e\u0447\u0438 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f \u2014 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u043f\u043e\u043b\u044f \u0438\u0437 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0437\u0430\u043f\u0440\u043e\u0441\u0430, \u0430 \u043a\u043b\u044e\u0447\u0438 \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f \u2014 \u0432\u0441\u0435 \u043f\u043e\u043b\u044f \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 (\u0432\u043a\u043b\u044e\u0447\u0430\u044f \u0438 \u043f\u0435\u0440\u0432\u043e\u0435).  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0440\u0438\u043c\u0435\u0440<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">connection.queryHash(     'SELECT LanguageSign, LanguageId, LanguageName, Caption, LanguageISO FROM Language', [], function(err, result) {     console.dir({queryHash:result});     \/* Example:         queryHash: {             en: {                 LanguageSign: 'en',                 LanguageId: 2,                 LanguageName: 'English',                 Caption: '\u0410\u043d\u0433\u043b\u0438\u0439\u0441\u043a\u0438\u0439',                 LanguageISO: 'en' },             ru: {                 LanguageSign: 'ru',                 LanguageId: 3,                 LanguageName: 'Russian',                 Caption: '\u0420\u0443\u0441\u0441\u043a\u0438\u0439',                 LanguageISO: 'ru' },             de: {                 LanguageSign: 'de',                 LanguageId: 7,                 LanguageName: 'Deutsch',                 Caption: '\u041d\u0435\u043c\u0435\u0446\u043a\u0438\u0439',                 LanguageISO: 'de' },             it: {                 LanguageSign: 'it',                 LanguageId: 8,                 LanguageName: 'Italiano',                 Caption: '\u0418\u0442\u0430\u043b\u044c\u044f\u043d\u0441\u043a\u0438\u0439',                 LanguageISO: 'it'             }         }     *\/ }); <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u0412\u044b\u0431\u043e\u0440\u043a\u0430 <b>\u043f\u0430\u0440 \u043a\u043b\u044e\u0447\/\u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435<\/b>: connection.<b>queryKeyValue<\/b>(sql, values, callback) \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0445\u0435\u0448 (\u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432), \u0433\u0434\u0435 \u043a\u043b\u044e\u0447\u043e\u043c \u0431\u0443\u0434\u0435\u0442 \u043f\u0435\u0440\u0432\u043e\u0435 \u043f\u043e\u043b\u0435 \u0438\u0437 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0430 \u0437\u0430\u043f\u0440\u043e\u0441\u0435.  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0440\u0438\u043c\u0435\u0440<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">connection.queryKeyValue(     'SELECT LanguageISO, LanguageName FROM Language', [], function(err, keyValue) {     console.dir({queryKeyValue:keyValue});     \/* Example:         keyValue: {             en: 'English',             ru: 'Russian',             uk: 'Ukrainian',             es: 'Espanol',             fr: 'Francais',             de: 'Deutsch',             it: 'Italiano',             pl: 'Poliski'         }     *\/ }); <\/code><\/pre>\n<\/div>\n<\/div>\n<h4>\u0423\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u0438\u043d\u0442\u0440\u043e\u0441\u043f\u0435\u043a\u0446\u0438\u0438<\/h4>\n<p>  \u0422\u043e \u0435\u0441\u0442\u044c, \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0445, \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440 \u0438 \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u043e\u0432 \u0431\u0430\u0437\u044b \u0434\u043b\u044f \u0438\u0445 \u0430\u043d\u0430\u043b\u0438\u0437\u0430 \u0438 \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u0438\u044f \u043b\u043e\u0433\u0438\u043a\u0438 \u0438\u043b\u0438 \u0438\u043d\u0442\u0435\u0440\u0444\u0435\u0439\u0441\u043e\u0432 \u043f\u043e \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u044d\u0442\u043e\u0439 \u0431\u0430\u0437\u043e\u0439.<\/p>\n<p>  \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 <b>\u043f\u0435\u0440\u0432\u0438\u0447\u043d\u043e\u0433\u043e \u043a\u043b\u044e\u0447\u0430<\/b>: connection.<b>primary<\/b>(table, callback) \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0445\u0435\u0448 (\u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432), \u0441 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u043e \u043f\u0435\u0440\u0432\u0438\u0447\u043d\u043e\u043c \u043a\u043b\u044e\u0447\u0435, \u0441\u043c. \u043d\u0430\u0431\u043e\u0440 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0445 \u0432 \u043f\u0440\u0438\u043c\u0435\u0440\u0435.  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0440\u0438\u043c\u0435\u0440<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">connection.primary('Language', function(err, primary) {     console.dir({primary:primary});     \/* Example:         primary: {             Table: 'language',             Non_unique: 0,             Key_name: 'PRIMARY',             Seq_in_index: 1,             Column_name: 'LanguageId',             Collation: 'A',             Cardinality: 9,             Sub_part: null,             Packed: null,             Null: '',             Index_type: 'BTREE',             Comment: '',             Index_comment: ''         }     *\/ }); <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 <b>\u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u043a\u043b\u044e\u0447\u0435\u0439<\/b>: connection.<b>foreign<\/b>(table, callback) \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0445\u0435\u0448 (\u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432), \u0441 \u0434\u0432\u043e\u0439\u043d\u043e\u0439 \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u043e\u0441\u0442\u044c\u044e, \u043d\u0430 \u043f\u0435\u0440\u0432\u043e\u043c \u0443\u0440\u043e\u0432\u043d\u0435 \u0438\u043c\u0435\u043d\u0430 \u0432\u043d\u0435\u0448\u043d\u0438\u0445 \u043a\u043b\u044e\u0447\u0435\u0439, \u0430 \u043d\u0430 \u0432\u0442\u043e\u0440\u043e\u043c \u2014 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435, \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0449\u0438\u0435 \u044d\u0442\u043e\u0442 \u043a\u043b\u044e\u0447. \u041d\u0430\u0431\u043e\u0440 \u043f\u043e\u043b\u0435\u0439 \u0441\u043c. \u0432 \u043f\u0440\u0438\u043c\u0435\u0440\u0435.  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0440\u0438\u043c\u0435\u0440<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">connection.foreign('TemplateCaption', function(err, foreign) {     console.dir({foreign:foreign});     \/* Example:         foreign: {             fkTemplateCaptionLanguage: {                 CONSTRAINT_NAME: 'fkTemplateCaptionLanguage',                 COLUMN_NAME: 'LanguageId',                 ORDINAL_POSITION: 1,                 POSITION_IN_UNIQUE_CONSTRAINT: 1,                 REFERENCED_TABLE_NAME: 'language',                 REFERENCED_COLUMN_NAME: 'LanguageId' },              fkTemplateCaptionTemplate: {                 CONSTRAINT_NAME: 'fkTemplateCaptionTemplate',                 COLUMN_NAME: 'TemplateId',                 ORDINAL_POSITION: 1,                 POSITION_IN_UNIQUE_CONSTRAINT: 1,                 REFERENCED_TABLE_NAME: 'template',                 REFERENCED_COLUMN_NAME: 'TemplateId'             }     *\/ }); <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 <b>\u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439 \u0446\u0435\u043b\u043e\u0441\u0442\u043d\u043e\u0441\u0442\u0438<\/b>: connection.<b>constraints<\/b>(table, callback) \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0445\u0435\u0448 (\u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432), \u0441 \u0434\u0432\u043e\u0439\u043d\u043e\u0439 \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u043e\u0441\u0442\u044c\u044e, \u043d\u0430 \u043f\u0435\u0440\u0432\u043e\u043c \u0443\u0440\u043e\u0432\u043d\u0435 \u0438\u043c\u0435\u043d\u0430 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0439 \u0446\u0435\u043b\u043e\u0441\u0442\u043d\u043e\u0441\u0442\u0438, \u0430 \u043d\u0430 \u0432\u0442\u043e\u0440\u043e\u043c \u2014 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435, \u043e\u043f\u0438\u0441\u044b\u0432\u0430\u044e\u0449\u0438\u0435 \u043a\u0430\u0436\u0434\u043e\u0435 \u043e\u0433\u0440\u0430\u043d\u0438\u0447\u0435\u043d\u0438\u0435. \u041d\u0430\u0431\u043e\u0440 \u043f\u043e\u043b\u0435\u0439 \u0441\u043c. \u0432 \u043f\u0440\u0438\u043c\u0435\u0440\u0435.  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0440\u0438\u043c\u0435\u0440<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">connection.constraints('TemplateCaption', function(err, constraints) {     console.dir({constraints:constraints});     \/* Example:         constraints: {             fkTemplateCaptionLanguage: {                 CONSTRAINT_NAME: 'fkTemplateCaptionLanguage',                 UNIQUE_CONSTRAINT_NAME: 'PRIMARY',                 REFERENCED_TABLE_NAME: 'Language',                 MATCH_OPTION: 'NONE',                 UPDATE_RULE: 'RESTRICT',                 DELETE_RULE: 'CASCADE' },             fkTemplateCaptionTemplate: {                 CONSTRAINT_NAME: 'fkTemplateCaptionTemplate',                 UNIQUE_CONSTRAINT_NAME: 'PRIMARY',                 REFERENCED_TABLE_NAME: 'Template',                 MATCH_OPTION: 'NONE',                 UPDATE_RULE: 'RESTRICT',                 DELETE_RULE: 'CASCADE'             }          }     *\/ }); <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0445 <b>\u043e \u043f\u043e\u043b\u044f\u0445 \u0442\u0430\u0431\u043b\u0438\u0446\u044b<\/b>: connection.<b>fields<\/b>(table, callback) \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043c\u0430\u0441\u0441\u0438\u0432 \u0441 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u043c\u0438 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u043e\u043b\u044f, \u0432 \u0442\u043e\u043c \u0447\u0438\u0441\u0442\u0435 \u0438\u043c\u044f, \u0442\u0438\u043f, \u0432\u0441\u0435 \u043c\u043e\u0434\u0438\u0444\u0438\u043a\u0430\u0442\u043e\u0440\u044b \u0438 \u0444\u043b\u0430\u0433\u0438, \u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0430\u0440\u0438\u0438 (\u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u0441\u043c. \u043f\u0440\u0438\u043c\u0435\u0440).  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0440\u0438\u043c\u0435\u0440<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">connection.fields('Language', function(err, fields) {     console.dir({fields:fields});     \/* Example:         fields: {             LanguageId: {                 Field: 'LanguageId',                 Type: 'int(10) unsigned',                 Collation: null,                 Null: 'NO',                 Key: 'PRI',                 Default: null,                 Extra: 'auto_increment',                 Privileges: 'select,insert,update,references',                 Comment: 'Id(EN),\u041a\u043e\u0434(RU)' },             LanguageName: {                 Field: 'LanguageName',                 Type: 'varchar(32)',                 Collation: 'utf8_general_ci',                 Null: 'NO',                 Key: 'UNI',                 Default: null,                 Extra: '',                 Privileges: 'select,insert,update,references',                 Comment: 'Name(EN),\u0418\u043c\u044f(RU)'             }, ...         }     *\/ }); <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0441\u043f\u0438\u0441\u043a\u0430 <b>\u0431\u0430\u0437 \u0434\u0430\u043d\u043d\u044b\u0445<\/b> \u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u043f\u043e \u0434\u0430\u043d\u043d\u043e\u043c\u0443 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044e: connection.<b>databases<\/b>(callback) \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043c\u0430\u0441\u0441\u0438\u0432 \u0438\u043c\u0435\u043d \u0431\u0430\u0437 (\u0438\u043b\u0438 \u00ab\u0441\u0445\u0435\u043c\u00bb, \u043a\u0430\u043a \u0438\u0445 \u0438\u043d\u043e\u0433\u0434\u0430 \u043d\u0430\u0437\u044b\u0432\u0430\u044e\u0442).  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0440\u0438\u043c\u0435\u0440<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">connection.databases(function(err, databases) {     console.dir({databases:databases});     \/* Example:         databases: [ 'information_schema', 'mezha', 'mysql', 'performance_schema', 'test' ]     *\/ }); <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u0441\u043f\u0438\u0441\u043a\u0430 <b>\u0442\u0430\u0431\u043b\u0438\u0446<\/b> \u0434\u043b\u044f \u0442\u0435\u043a\u0443\u0449\u0435\u0433\u043e \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f: connection.<b>tables<\/b>(callback) \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0445\u0435\u0448 (\u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432) \u0434\u0432\u043e\u0439\u043d\u043e\u0439 \u0432\u043b\u043e\u0436\u0435\u043d\u043d\u043e\u0441\u0442\u0438, \u0433\u0434\u0435 \u043d\u0430 \u043f\u0435\u0440\u0432\u043e\u043c \u0443\u0440\u043e\u0432\u043d\u0435 \u043a\u043b\u044e\u0447\u0438 \u2014 \u0438\u043c\u0435\u043d\u0430 \u0442\u0430\u0431\u043b\u0438\u0446, \u0430 \u043d\u0430 \u0432\u0442\u043e\u0440\u043e\u043c \u2014 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b.  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0440\u0438\u043c\u0435\u0440<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">connection.tables(function(err, tables) {     console.dir({tables:tables});     \/* Example:         tables: {             Language: {                 TABLE_NAME: 'Language',                 TABLE_TYPE: 'BASE TABLE',                 ENGINE: 'InnoDB',                 VERSION: 10,                 ROW_FORMAT: 'Compact',                 TABLE_ROWS: 9,                 AVG_ROW_LENGTH: 1820,                 DATA_LENGTH: 16384,                 MAX_DATA_LENGTH: 0,                 INDEX_LENGTH: 49152,                 DATA_FREE: 8388608,                 AUTO_INCREMENT: 10,                 CREATE_TIME: Mon Jul 15 2013 03:06:08 GMT+0300 (\u0424\u0438\u043d\u043b\u044f\u043d\u0434\u0438\u044f (\u043b\u0435\u0442\u043e)),                 UPDATE_TIME: null,                 CHECK_TIME: null,                 TABLE_COLLATION: 'utf8_general_ci',                 CHECKSUM: null,                 CREATE_OPTIONS: '',                 TABLE_COMMENT: '_Language:Languages(EN),\u042f\u0437\u044b\u043a\u0438(RU)'             }, ...         }     *\/ }); <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 <b>\u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0445 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b<\/b>: connection.<b>tableInfo<\/b>(table, callback) \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0445\u0435\u0448 (\u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432) \u0441 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u043c\u0438 (\u043f\u043e\u0434\u0440\u043e\u0431\u043d\u0435\u0435 \u0441\u043c. \u0432 \u043f\u0440\u0438\u043c\u0435\u0440\u0435).  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0440\u0438\u043c\u0435\u0440<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">connection.tableInfo('Language', function(err, info) {     console.dir({tableInfo:info});     \/* Example:         tableInfo: {             Name: 'language',             Engine: 'InnoDB',             Version: 10,             Row_format: 'Compact',             Rows: 9,             Avg_row_length: 1820,             Data_length: 16384,             Max_data_length: 0,             Index_length: 49152,             Data_free: 9437184,             Auto_increment: 10,             Create_time: Mon Jul 15 2013 03:06:08 GMT+0300 (\u0424\u0438\u043d\u043b\u044f\u043d\u0434\u0438\u044f (\u043b\u0435\u0442\u043e)),             Update_time: null,             Check_time: null,             Collation: 'utf8_general_ci',             Checksum: null,             Create_options: '',             Comment: ''         }     *\/ }); <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0445 \u043e <b>\u0432\u0441\u0435\u0445 \u043a\u043b\u044e\u0447\u0430\u0445 \u0434\u0430\u043d\u043d\u043e\u0439 \u0442\u0430\u0431\u043b\u0438\u0446\u044b<\/b>: connection.<b>indexes<\/b>(table, callback) \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u0445\u0435\u0448 (\u0430\u0441\u0441\u043e\u0446\u0438\u0430\u0442\u0438\u0432\u043d\u044b\u0439 \u043c\u0430\u0441\u0441\u0438\u0432)? \u043a\u043b\u044e\u0447\u0430\u043c\u0438 \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f \u0432 \u043d\u0435\u043c \u044f\u0432\u043b\u044f\u044e\u0442\u0441\u044f \u0438\u043c\u0435\u043d\u0430 \u043a\u043b\u044e\u0447\u0435\u0439 \u0431\u0430\u0437\u044b \u0434\u0430\u043d\u043d\u044b\u0445 (), \u0430 \u043a\u043b\u044e\u0447\u0430\u043c\u0438 \u0432\u0442\u043e\u0440\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f \u2014 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0435 \u043e \u043a\u0430\u0436\u0434\u043e\u043c \u043a\u043b\u044e\u0447\u0435 (\u0441\u043c. \u043f\u0440\u0438\u043c\u0435\u0440 \u0434\u043b\u044f \u043f\u043e\u0434\u0440\u043e\u0431\u043d\u043e\u0433\u043e \u0441\u043f\u0438\u0441\u043a\u0430 \u043c\u0435\u0442\u0430\u0434\u0430\u043d\u043d\u044b\u0445).  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0440\u0438\u043c\u0435\u0440<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">connection.indexes('Language', function(err, info) {     console.dir({tableInfo:info});     \/* Example:         indexes: {             PRIMARY: {                 Table: 'language',                 Non_unique: 0,                 Key_name: 'PRIMARY',                 Seq_in_index: 1,                 Column_name: 'LanguageId',                 Collation: 'A',                 Cardinality: 9,                 Sub_part: null,                 Packed: null,                 Null: '',                 Index_type: 'BTREE',                 Comment: '',                 Index_comment: '' },             akLanguage: {                 Table: 'language',                 Non_unique: 0,                 Key_name: 'akLanguage',                 Seq_in_index: 1,                 Column_name: 'LanguageName',                 Collation: 'A',                 Cardinality: 9,                 Sub_part: null,                 Packed: null,                 Null: '',                 Index_type: 'BTREE',                 Comment: '',                 Index_comment: ''             }         }     *\/ }); <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 <b>\u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0432 \u043d\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u0435<\/b> MySQL: connection.<b>processes<\/b>(callback) \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043c\u0430\u0441\u0441\u0438\u0432 \u0445\u0435\u0448\u0435\u0439, \u0433\u0434\u0435 \u0434\u043b\u044f \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u0430 \u0434\u0430\u043d\u044b \u0435\u0433\u043e \u043f\u0430\u0440\u0430\u043c\u0435\u0442\u0440\u044b.  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0440\u0438\u043c\u0435\u0440<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">connection.processes(function(err, processes) {     console.dir({processes:processes});     \/* Example:         processes: [ {             ID: 62,             USER: 'mezha',             HOST: 'localhost:14188',             DB: 'mezha',             COMMAND: 'Query',             TIME: 0,             STATE: 'executing',             INFO: 'SELECT * FROM information_schema.PROCESSLIST'         }, {             ID: 33,             USER: 'root',             HOST: 'localhost:39589',             DB: null,             COMMAND: 'Sleep',             TIME: 1,             STATE: '',             INFO: null         } ]     *\/ }); <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 <b>\u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u044b\u0445 \u043f\u0435\u0440\u0435\u043c\u0435\u043d\u043d\u044b\u0445<\/b> MySQL: connection.<b>globalVariables<\/b>(callback)  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0440\u0438\u043c\u0435\u0440<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">connection.globalVariables(function(err, globalVariables) {     console.dir({globalVariables:globalVariables});     \/* Example:         globalVariables: {             MAX_PREPARED_STMT_COUNT: '16382',             MAX_JOIN_SIZE: '18446744073709551615',             HAVE_CRYPT: 'NO',             PERFORMANCE_SCHEMA_EVENTS_WAITS_HISTORY_LONG_SIZE: '10000',             INNODB_VERSION: '5.5.32',             FLUSH_TIME: '1800',             MAX_ERROR_COUNT: '64',             ...         }     *\/ }); <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 <b>\u0433\u043b\u043e\u0431\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0441\u0442\u0430\u0442\u0443\u0441\u0430<\/b> MySQL: connection.<b>globalStatus<\/b>(callback)  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0440\u0438\u043c\u0435\u0440<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">connection.globalStatus(function(err, globalStatus) {     console.dir({globalStatus:globalStatus});     \/* Example:         globalStatus: {             ABORTED_CLIENTS: '54',             ABORTED_CONNECTS: '2',             BINLOG_CACHE_DISK_USE: '0',             BINLOG_CACHE_USE: '0',             BINLOG_STMT_CACHE_DISK_USE: '0',             BINLOG_STMT_CACHE_USE: '0',             BYTES_RECEIVED: '654871',             BYTES_SENT: '212454927',             COM_ADMIN_COMMANDS: '594',             ...         }     *\/ }); <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 <b>\u0441\u043f\u0438\u0441\u043a\u0430 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u0439<\/b> MySQL: connection.<b>users<\/b>(callback)  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0440\u0438\u043c\u0435\u0440<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">connection.users(function(err, users) {     console.dir({users:users});     \/* Example:         users: [             {                 Host: 'localhost',                 User: 'root',                 Password: '*90E462C37378CED12064BB3388827D2BA3A9B689',                 Select_priv: 'Y',                 Insert_priv: 'Y',                 Update_priv: 'Y',                 Delete_priv: 'Y',                 Create_priv: 'Y',                 Drop_priv: 'Y',                 Reload_priv: 'Y',                 Shutdown_priv: 'Y',                 Process_priv: 'Y',                 File_priv: 'Y',                 Grant_priv: 'Y',                 References_priv: 'Y',                 Index_priv: 'Y',                 Alter_priv: 'Y',                 Show_db_priv: 'Y',                 Super_priv: 'Y',                 Create_tmp_table_priv: 'Y',                 Lock_tables_priv: 'Y',                 Execute_priv: 'Y',                 Repl_slave_priv: 'Y',                 Repl_client_priv: 'Y',                 Create_view_priv: 'Y',                 Show_view_priv: 'Y',                 Create_routine_priv: 'Y',                 Alter_routine_priv: 'Y',                 Create_user_priv: 'Y',                 Event_priv: 'Y',                 Trigger_priv: 'Y',                 Create_tablespace_priv: 'Y',                 ssl_type: '',                 ssl_cipher: &lt;Buffer &gt;,                 x509_issuer: &lt;Buffer &gt;,                 x509_subject: &lt;Buffer &gt;,                 max_questions: 0,                 max_updates: 0,                 max_connections: 0,                 max_user_connections: 0,                 plugin: '',                 authentication_string: ''             }, ...         ]     *\/ }); <\/code><\/pre>\n<\/div>\n<\/div>\n<h4>\u0423\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432<\/h4>\n<p>  \u041d\u0443 \u0438 \u0441\u043e\u0432\u0441\u0435\u043c \u0443\u0436\u0435 \u0431\u0430\u0440\u0441\u043a\u0438\u0435 \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430, \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e\u0449\u0438\u0435 \u0433\u0435\u043d\u0435\u0440\u0438\u0440\u043e\u0432\u0430\u0442\u044c SQL \u0438\u043b\u0438 \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u0438\u043b\u0438 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u044b\u0435 WHERE \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u044f. \u042f \u0441\u0430\u043c \u043d\u0435 \u0441\u0442\u043e\u0440\u043e\u043d\u043d\u0438\u043a \u0442\u0430\u043a\u043e\u0433\u043e \u0441\u0430\u0445\u0430\u0440\u0430, \u043d\u043e \u0438\u043d\u043e\u0433\u0434\u0430 \u0431\u044b\u0432\u0430\u0435\u0442 \u043d\u0443\u0436\u043d\u043e \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0437\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044e \u0437\u0430\u043f\u0440\u043e\u0441\u043e\u0432, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0437\u0430\u0440\u0430\u043d\u0435\u0435 \u043d\u0435 \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u044b \u0438 \u044f \u043f\u043e\u0437\u0432\u043e\u043b\u044f\u044e \u0441\u0435\u0431\u0435 \u0442\u0430\u043a\u0443\u044e \u0440\u043e\u0441\u043a\u043e\u0448\u044c.<\/p>\n<p>  <b>\u0413\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u044f \u0443\u0441\u043b\u043e\u0432\u0438\u0439<\/b>: connection.<b>where<\/b>(conditions) \u0440\u0430\u0431\u043e\u0442\u0430\u0435\u0442 \u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e, \u0430 \u043d\u0435 \u0430\u0441\u0438\u043d\u0445\u0440\u043e\u043d\u043d\u043e, \u043a\u0430\u043a \u0434\u0440\u0443\u0433\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438, \u0442.\u0435. \u043d\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 callback. \u0412\u043e\u0437\u0432\u0440\u0430\u0449\u0430\u0435\u0442 \u043f\u043e\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u043e\u0435 WHERE \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0435 SQL \u0434\u043b\u044f conditions, \u043e\u043f\u0438\u0441\u0430\u043d\u043d\u044b\u0445 \u0432 \u0441\u0442\u0438\u043b\u0435 JSON. \u041d\u0443\u0436\u043d\u043e \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u043e \u0441\u043c\u043e\u0442\u0440\u0435\u0442\u044c \u043f\u0440\u0438\u043c\u0435\u0440 \u0434\u043b\u044f \u043f\u043e\u043d\u0438\u043c\u0430\u043d\u0438\u044f:  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0440\u0438\u043c\u0435\u0440<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">var where = connection.where({     id: 5,     year: &quot;&gt;2010&quot;,     price: &quot;100..200&quot;,     level: &quot;&lt;=3&quot;,     sn: &quot;*str?&quot;,     label: &quot;str&quot;,     code: &quot;(1,2,4,10,11)&quot; }); console.dir(where); \/\/ Output: &quot;id = 5 AND year &gt; '2010' AND (price BETWEEN '100' AND '200') AND  \/\/ level &lt;= '3' AND sn LIKE '%str_' AND label = 'str' AND code IN (1,2,4,10,11)&quot; <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  <b>\u0412\u044b\u0431\u043e\u0440\u043a\u0430<\/b> \u0441 \u0443\u0441\u043b\u043e\u0432\u0438\u0435\u043c: connection.<b>select<\/b>(table, whereFilter, callback)  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0440\u0438\u043c\u0435\u0440<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">connection.select('Language', '*', { LanguageId: &quot;1..3&quot; }, function(err, results) {     console.dir({select:results}); }); <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  <b>\u0412\u0441\u0442\u0430\u0432\u043a\u0430<\/b> \u0437\u0430\u043f\u0438\u0441\u0438: connection.<b>insert<\/b>(table, row, callback)  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0440\u0438\u043c\u0435\u0440<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">connection.insert('Language', {     LanguageName: 'Tatar',     LanguageSign:'TT',     LanguageISO:'TT',     Caption:'Tatar' }, function(err, recordId) {     console.dir({insert:recordId}); }); <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  <b>\u0418\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435<\/b> \u0437\u0430\u043f\u0438\u0441\u0438: connection.<b>update<\/b>(table, row, callback)  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0440\u0438\u043c\u0435\u0440<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">connection.update('Language', {     LanguageId: 25,     LanguageName:'Tatarca',     LanguageSign:'TT',     LanguageISO:'TT',     Caption:'Tatarca' }, function(err, affectedRows) {     console.dir({update:affectedRows}); }); <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  <b>\u0412\u0441\u0442\u0430\u0432\u043a\u0430<\/b>, \u0435\u0441\u043b\u0438 \u043d\u0435\u0442 \u0442\u0430\u043a\u043e\u0439 \u0437\u0430\u043f\u0438\u0441\u0438 \u0438\u043b\u0438 <b>\u0438\u0437\u043c\u0435\u043d\u0435\u043d\u0438\u0435<\/b>, \u0435\u0441\u043b\u0438 \u043e\u043d\u0430 \u0443\u0436\u0435 \u0435\u0441\u0442\u044c: connection.<b>upsert<\/b>(table, row, callback)  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0440\u0438\u043c\u0435\u0440<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">connection.upsert('Language', {     LanguageId: 25,     LanguageName:'Tatarca',     LanguageSign:'TT',     LanguageISO:'TT',     Caption:'Tatarca' }, function(err, affectedRows) {     console.dir({upsert:affectedRows}); }); <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  \u041f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u0435 <b>\u043a\u043e\u043b\u0438\u0447\u0435\u0441\u0442\u0432\u0430 \u0437\u0430\u043f\u0438\u0441\u0435\u0439<\/b> \u0432 \u0442\u0430\u0431\u043b\u0438\u0446\u0435 \u043f\u043e \u0437\u0430\u0434\u0430\u043d\u043d\u043e\u043c\u0443 \u0444\u0438\u043b\u044c\u0442\u0440\u0443 \u0438\u043b\u0438 \u0431\u0435\u0437 \u0444\u0438\u043b\u044c\u0442\u0440\u0430: connection.count(table, whereFilter, callback)  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0440\u0438\u043c\u0435\u0440<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">connection.count('Language', { LanguageId: &quot;&gt;3&quot; }, function(err, count) {     console.dir({count:count});     \/* Example:         count: 9     *\/ }); <\/code><\/pre>\n<\/div>\n<\/div>\n<p>  <b>\u0423\u0434\u0430\u043b\u0435\u043d\u0438\u0435<\/b> \u0437\u0430\u043f\u0438\u0441\u0438 \u0438\u043b\u0438 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u0438\u0445 \u0437\u0430\u043f\u0438\u0441\u0435\u0439: connection.<b>delete<\/b>(table, whereFilter, callback)  <\/p>\n<div class=\"spoiler\"><b class=\"spoiler_title\">\u041f\u0440\u0438\u043c\u0435\u0440<\/b><\/p>\n<div class=\"spoiler_text\">\n<pre><code class=\"javascript\">connection.delete('Language', { LanguageSign:'TT' }, function(err, affectedRows) {     console.dir({delete:affectedRows}); }); <\/code><\/pre>\n<\/div>\n<\/div>\n<h4>\u0412\u0430\u0440\u0438\u0430\u043d\u0442\u044b \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f<\/h4>\n<p>  1. \u041d\u0430 Github \u0435\u0441\u0442\u044c \u043f\u0430\u0442\u0447 \u043a \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0443 node-mysql \u0441\u043e \u0432\u0441\u0435\u043c\u0438, \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043d\u044b\u043c\u0438 \u0432\u044b\u0448\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u044f\u043c\u0438: <a href=\"https:\/\/github.com\/felixge\/node-mysql\">github.com\/felixge\/node-mysql<\/a><\/p>\n<p>  2. \u041d\u043e \u044f \u0434\u0443\u043c\u0430\u044e, \u0447\u0442\u043e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c \u0435\u0433\u043e \u044f \u043d\u0435 \u0441\u0442\u0430\u043d\u0443, \u0438 \u043f\u043e\u0434\u0443\u043c\u044b\u0432\u0430\u044e \u043f\u0440\u043e \u0442\u043e, \u0447\u0442\u043e\u0431\u044b \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0443\u044e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0441 \u0431\u043e\u043b\u0435\u0435 \u0432\u044b\u0441\u043e\u043a\u0438\u043c \u0443\u0440\u043e\u0432\u043d\u0435\u043c \u0430\u0431\u0441\u0442\u0440\u0430\u043a\u0446\u0438\u0438, \u0447\u0435\u043c \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u0440\u0430\u0439\u0432\u0435\u0440, \u043d\u043e \u043d\u0435 \u0442\u0430\u043a\u043e\u0433\u043e \u0432\u044b\u0441\u043e\u043a\u043e\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f \u043a\u0430\u043a ORM \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438. \u0422\u043e \u0435\u0441\u0442\u044c, \u044f \u043d\u0435 \u0445\u043e\u0447\u0443 \u0434\u0435\u043b\u0430\u0442\u044c \u0438\u0437 \u044d\u0442\u043e\u0433\u043e \u0433\u0440\u043e\u043c\u043e\u0437\u0434\u043a\u0443\u044e \u0432\u0435\u0449\u044c, \u0430 \u043f\u043e\u0437\u0432\u043e\u043b\u0438\u0442\u044c \u0434\u043e\u0431\u0430\u0432\u043b\u044f\u0442\u044c \u043a \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044e \u0447\u0435\u0440\u0435\u0437 \u043f\u0440\u0438\u043c\u0435\u0441\u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u043d\u0443\u0436\u043d\u044b\u0435 \u0438\u0437 \u0442\u0440\u0435\u0445 \u0433\u0440\u0443\u043f\u043f \u0444\u0443\u043d\u043a\u0446\u0438\u0439. \u0422\u043e \u0435\u0441\u0442\u044c, \u043f\u043e\u0441\u043b\u0435 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u043c\u043e\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0432\u044b\u0431\u0438\u0440\u0430\u0442\u044c, \u043d\u0443\u0436\u043d\u0430 \u043b\u0438 \u0438\u043d\u0442\u0440\u043e\u0441\u043f\u0435\u043a\u0446\u0438\u044f, \u043d\u0443\u0436\u043d\u044b \u043b\u0438 \u043f\u0440\u043e\u0441\u0442\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0432\u044b\u0431\u043e\u0440\u043a\u0438 \u0441\u043a\u0430\u043b\u044f\u0440\u043e\u0432, \u043c\u0430\u0441\u0441\u0438\u0432\u043e\u0432 \u0438 \u0445\u0435\u0448\u0435\u0439 \u0438 \u043d\u0443\u0436\u043d\u044b \u043b\u0438 \u0431\u043e\u043b\u0435\u0435 \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438 \u0434\u043b\u044f \u0433\u0435\u043d\u0435\u0440\u0430\u0446\u0438\u0438 SQL \u0432\u044b\u0440\u0430\u0436\u0435\u043d\u0438\u0439.<\/p>\n<p>  3. \u0418 \u0442\u0440\u0435\u0442\u0438\u0439 \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f, \u044d\u0442\u043e \u0441\u0435\u0440\u0432\u0435\u0440 \u043f\u0440\u0438\u043b\u043e\u0436\u0435\u043d\u0438\u0439 Impress \u0434\u043b\u044f Node.js, \u0432 \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0432\u0435\u0441\u044c \u044d\u0442\u043e\u0442 \u0430\u0440\u0441\u0435\u043d\u0430\u043b \u0432\u0441\u0442\u0440\u043e\u0435\u043d. \u0414\u0432\u0435 \u0433\u0440\u0443\u043f\u043f\u044b \u0444\u0443\u043d\u043a\u0446\u0438\u0439 \u043f\u043e \u0432\u044b\u0431\u043e\u0440\u043a\u0435 \u0432 Impress \u0435\u0441\u0442\u044c \u0441\u0440\u0430\u0437\u0443 \u0443 \u0432\u0441\u0435\u0445 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0439 \u043a MySQL, \u043e\u043d\u0438 \u043f\u0440\u0438\u043c\u0435\u0448\u0438\u0432\u0430\u044e\u0442\u0441\u044f \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438, \u043f\u0440\u0438 \u043e\u0442\u043a\u0440\u044b\u0442\u0438\u0438 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f, \u0438 \u0442\u043e\u043b\u044c\u043a\u043e \u0438\u043d\u0442\u0440\u043e\u0441\u043f\u0435\u043a\u0446\u0438\u044e \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0447\u0435\u0440\u0435\u0437 \u043a\u043e\u043d\u0444\u0438\u0433 \u0433\u0434\u0435 \u043d\u0443\u0436\u043d\u043e \u0440\u0430\u0441\u043a\u043e\u043c\u043c\u0435\u043d\u0442\u0438\u0440\u043e\u0432\u0430\u0442\u044c \u0441\u043e\u043e\u0442\u0432\u0435\u0442\u0441\u0442\u0432\u0443\u044e\u0449\u0438\u0439 \u043f\u043b\u0430\u0433\u0438\u043d, \u0447\u0442\u043e\u0431\u044b \u043d\u0430\u0431\u043e\u0440 \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432 \u0434\u043b\u044f MySQL \u0431\u044b\u043b \u0442\u0430\u043a\u043e\u0439:  <\/p>\n<pre><code class=\"javascript\">\tplugins: { \t\trequire: [ \t\t\t&quot;db&quot;, \t\t\t&quot;db.mysql&quot;, \t\t\t&quot;db.mysql.introspection&quot;, \t\t\t... \t\t] \t},... <\/code><\/pre>\n<p>  \u0422\u043e\u0433\u0434\u0430 \u043f\u043b\u0430\u0433\u0438\u043d \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0438 \u043f\u0440\u0438\u043c\u0435\u0448\u0430\u0435\u0442\u0441\u044f \u043a \u043a\u0430\u0436\u0434\u043e\u043c\u0443 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044e: if (db.mysql.introspection) db.mysql.introspection(connection);<br \/>  \u0422\u0443\u0442 \u0438\u0441\u043a\u043e\u0434\u043d\u0438\u043a\u0438 \u043f\u043b\u0430\u0433\u0438\u043d\u043e\u0432 \u043a <a href=\"http:\/\/habrahabr.ru\/post\/194250\/\">Impress<\/a>:  <\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/tshemsedinov\/impress\/blob\/master\/lib\/db.mysql.js\">https:\/\/github.com\/tshemsedinov\/impress\/blob\/master\/lib\/db.mysql.js<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/tshemsedinov\/impress\/blob\/master\/lib\/db.mysql.introspection.js\">https:\/\/github.com\/tshemsedinov\/impress\/blob\/master\/lib\/db.mysql.introspection.js<\/a><\/li>\n<\/ul>\n<p>  \u0410 \u043f\u043e \u043f\u043e\u0432\u043e\u0434\u0443 \u0432\u044b\u043f\u0443\u0441\u043a\u0430 \u044d\u0442\u0438\u0445 \u0443\u0434\u043e\u0431\u0441\u0442\u0432 \u0432 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, \u0445\u043e\u0447\u0443 \u043f\u043e\u0441\u043e\u0432\u0435\u0442\u043e\u0432\u0430\u0442\u044c\u0441\u044f \u0432 \u0432\u0430\u043c\u0438:  \t\t\t\t<\/p>\n<div class=\"polling\">\n<form action=\"\/json\/polling\/\" class=\"poll\" method=\"post\">\n<div class=\"poll_title\">\u041d\u0443\u0436\u043d\u044b \u043b\u0438 \u0432\u0430\u043c \u043f\u043e\u0434\u043e\u0431\u043d\u044b\u0435 \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430?<\/div>\n<p>  \t\t<input type=\"hidden\" name=\"post_id\" value=\"198738\"\/> \t\t<input type=\"hidden\" name=\"polling_question_id\" value=\"9430\"\/>  \t\t<\/p>\n<table class=\"answer\">\n<tr>\n<td class=\"input\"> \t\t\t\t\t<input type=\"radio\" id=\"vv47946\" \t\t\t\t\t\tclass=\"radio js-field-data\" \t\t\t\t\t\tname=\"variant[]\" \t\t\t\t\t\tvalue=\"47946\" \/> \t\t\t\t<\/td>\n<td class=\"label\"> \t\t\t\t\t<label for=\"vv47946\">\u0414\u0430, \u044f \u0441\u0430\u043c \u0441\u0435\u0431\u0435 \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u043d\u0435\u0447\u0442\u043e \u043f\u043e\u0434\u043e\u0431\u043d\u043e\u0435<\/label> \t\t\t\t<\/td>\n<\/tr>\n<tr>\n<td class=\"input\"> \t\t\t\t\t<input type=\"radio\" id=\"vv47948\" \t\t\t\t\t\tclass=\"radio js-field-data\" \t\t\t\t\t\tname=\"variant[]\" \t\t\t\t\t\tvalue=\"47948\" \/> \t\t\t\t<\/td>\n<td class=\"label\"> \t\t\t\t\t<label for=\"vv47948\">\u0414\u0430, \u0443\u0436\u0435 \u043f\u043e\u043b\u044c\u0437\u0443\u044e\u0441\u044c, \u043d\u043e \u0434\u0440\u0443\u0433\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0435\u0439<\/label> \t\t\t\t<\/td>\n<\/tr>\n<tr>\n<td class=\"input\"> \t\t\t\t\t<input type=\"radio\" id=\"vv47950\" \t\t\t\t\t\tclass=\"radio js-field-data\" \t\t\t\t\t\tname=\"variant[]\" \t\t\t\t\t\tvalue=\"47950\" \/> \t\t\t\t<\/td>\n<td class=\"label\"> \t\t\t\t\t<label for=\"vv47950\">\u0414\u0430, \u043a\u0430\u043a \u0440\u0430\u0437 \u0434\u0443\u043c\u0430\u043b \u0438\u0441\u043a\u0430\u0442\u044c \u0438\u0445<\/label> \t\t\t\t<\/td>\n<\/tr>\n<tr>\n<td class=\"input\"> \t\t\t\t\t<input type=\"radio\" id=\"vv47952\" \t\t\t\t\t\tclass=\"radio js-field-data\" \t\t\t\t\t\tname=\"variant[]\" \t\t\t\t\t\tvalue=\"47952\" \/> \t\t\t\t<\/td>\n<td class=\"label\"> \t\t\t\t\t<label for=\"vv47952\">\u041d\u0435\u0442, \u044d\u0442\u043e \u0441\u043e\u0432\u0435\u0440\u0448\u0435\u043d\u043d\u043e \u043b\u0438\u0448\u043d\u0438\u0435 \u0444\u0443\u043d\u043a\u0446\u0438\u0438<\/label> \t\t\t\t<\/td>\n<\/tr>\n<\/table>\n<p class=\"for_users_only_msg\">\u0422\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043c\u043e\u0433\u0443\u0442 \u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432 \u043e\u043f\u0440\u043e\u0441\u0435. <a href=\"https:\/\/auth.habrahabr.ru\/login\/\">\u0412\u043e\u0439\u0434\u0438\u0442\u0435<\/a>, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430.<\/p>\n<p class=\"total\">\u041d\u0438\u043a\u0442\u043e \u0435\u0449\u0451 \u043d\u0435 \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u0430\u043b. \u0412\u043e\u0437\u0434\u0435\u0440\u0436\u0430\u0432\u0448\u0438\u0445\u0441\u044f \u043d\u0435\u0442.<\/p>\n<\/p><\/form>\n<form action=\"\/json\/polling\/\" class=\"poll\" method=\"post\">\n<div class=\"poll_title\">\u0421\u0442\u043e\u0438\u0442 \u043b\u0438 \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u0438\u0445 \u0432 \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u0443\u044e \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0438 \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u0442\u044c \u043e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u043e\u0442 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0430 \u0438 \u043e\u0442 Impress?<\/div>\n<p>  \t\t<input type=\"hidden\" name=\"post_id\" value=\"198738\"\/> \t\t<input type=\"hidden\" name=\"polling_question_id\" value=\"9432\"\/>  \t\t<\/p>\n<table class=\"answer\">\n<tr>\n<td class=\"input\"> \t\t\t\t\t<input type=\"radio\" id=\"vv47954\" \t\t\t\t\t\tclass=\"radio js-field-data\" \t\t\t\t\t\tname=\"variant[]\" \t\t\t\t\t\tvalue=\"47954\" \/> \t\t\t\t<\/td>\n<td class=\"label\"> \t\t\t\t\t<label for=\"vv47954\">\u0414\u0430, \u0435\u0441\u043b\u0438 \u043c\u043e\u0436\u043d\u043e, \u0441\u0434\u0435\u043b\u0430\u0439\u0442\u0435 \u044d\u0442\u043e<\/label> \t\t\t\t<\/td>\n<\/tr>\n<tr>\n<td class=\"input\"> \t\t\t\t\t<input type=\"radio\" id=\"vv47956\" \t\t\t\t\t\tclass=\"radio js-field-data\" \t\t\t\t\t\tname=\"variant[]\" \t\t\t\t\t\tvalue=\"47956\" \/> \t\t\t\t<\/td>\n<td class=\"label\"> \t\t\t\t\t<label for=\"vv47956\">\u041d\u0435 \u0441\u0442\u043e\u0438\u0442 \u0442\u0435\u0440\u044f\u0442\u044c \u0432\u0440\u0435\u043c\u044f<\/label> \t\t\t\t<\/td>\n<\/tr>\n<\/table>\n<p class=\"for_users_only_msg\">\u0422\u043e\u043b\u044c\u043a\u043e \u0437\u0430\u0440\u0435\u0433\u0438\u0441\u0442\u0440\u0438\u0440\u043e\u0432\u0430\u043d\u043d\u044b\u0435 \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0438 \u043c\u043e\u0433\u0443\u0442 \u0443\u0447\u0430\u0441\u0442\u0432\u043e\u0432\u0430\u0442\u044c \u0432 \u043e\u043f\u0440\u043e\u0441\u0435. <a href=\"https:\/\/auth.habrahabr.ru\/login\/\">\u0412\u043e\u0439\u0434\u0438\u0442\u0435<\/a>, \u043f\u043e\u0436\u0430\u043b\u0443\u0439\u0441\u0442\u0430.<\/p>\n<p class=\"total\">\u041d\u0438\u043a\u0442\u043e \u0435\u0449\u0451 \u043d\u0435 \u0433\u043e\u043b\u043e\u0441\u043e\u0432\u0430\u043b. \u0412\u043e\u0437\u0434\u0435\u0440\u0436\u0430\u0432\u0448\u0438\u0445\u0441\u044f \u043d\u0435\u0442.<\/p>\n<\/p><\/form>\n<\/p><\/div>\n<div class=\"clear\"><\/div>\n<\/p><\/div>\n<p> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"http:\/\/habrahabr.ru\/post\/198738\/\"> http:\/\/habrahabr.ru\/post\/198738\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div class=\"content html_format\">   \t<img decoding=\"async\" align=\"left\" src=\"http:\/\/habr.habrastorage.org\/post_images\/468\/fdb\/eb8\/468fdbeb8f1e4a0b98e11fbdf74a7cb6.jpg\"\/>\u041a\u0442\u043e \u043f\u0438\u0448\u0435\u0442 \u043d\u0430 Node.js \u0438 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 MySQL, \u0442\u043e\u0442 \u043d\u0435\u043f\u0440\u0435\u043c\u0435\u043d\u043d\u043e \u0437\u043d\u0430\u0435\u0442, \u0447\u0442\u043e \u043d\u0430\u0448 \u0434\u043e\u0440\u043e\u0433\u043e\u0439 \u0442\u043e\u0432\u0430\u0440\u0438\u0449 <a href=\"https:\/\/github.com\/felixge\"><b>Felix Geisend\u00f6rfer<\/b><\/a> \u0442\u0440\u0438 \u0433\u043e\u0434\u0430 \u043d\u0430\u0437\u0430\u0434 \u0441\u043e\u0432\u0435\u0440\u0448\u0438\u043b \u0433\u0435\u0440\u043e\u0438\u0447\u0435\u0441\u043a\u0438\u0439 \u0438 \u0441\u0430\u043c\u043e\u043e\u0442\u0432\u0435\u0440\u0436\u0435\u043d\u043d\u044b\u0439 \u043f\u043e\u0434\u0432\u0438\u0433: \u0432 \u043e\u0434\u0438\u043d\u043e\u0447\u043a\u0443 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043b \u043e\u0447\u0435\u043d\u044c <a href=\"https:\/\/github.com\/felixge\/node-mysql\">\u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0439 <b>\u0434\u0440\u0430\u0439\u0432\u0435\u0440<\/b><\/a> \u0434\u043b\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a MySQL, <b>\u043d\u0430\u0442\u0438\u0432\u043d\u043e \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u0432 \u0434\u0432\u043e\u0438\u0447\u043d\u044b\u0439 \u043f\u0440\u043e\u0442\u043e\u043a\u043e\u043b<\/b> \u044d\u0442\u043e\u0439 \u0421\u0423\u0411\u0414 \u043d\u0430 JavaScript. \u041f\u043e\u0442\u043e\u043c \u043a \u043f\u0440\u043e\u0435\u043a\u0442\u0443 \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u043b\u0438\u0441\u044c \u0434\u0440\u0443\u0433\u0438\u0435 \u0443\u0432\u0430\u0436\u0430\u0435\u043c\u044b\u0435 \u0442\u043e\u0432\u0430\u0440\u0438\u0449\u0438, \u0431\u044b\u043b\u0430 \u0440\u0435\u0430\u043b\u0438\u0437\u043e\u0432\u0430\u043d\u0430 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u043a\u0430 \u043f\u0443\u043b\u043e\u0432 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u0439, \u043a\u043b\u0430\u0441\u0442\u0435\u0440\u043e\u0432, \u0442\u0440\u0430\u043d\u0437\u0430\u043a\u0446\u0438\u0439, \u0432\u043e\u0441\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u0438\u0435 \u043f\u0440\u0438 \u0432\u0440\u0435\u043c\u0435\u043d\u043d\u043e\u0439 \u0443\u0442\u0435\u0440\u0435 \u0441\u043e\u0435\u0434\u0438\u043d\u0435\u043d\u0438\u044f \u0438 \u0442.\u0434. \u0421\u0435\u0439\u0447\u0430\u0441 <a href=\"https:\/\/npmjs.org\/package\/mysql\">\u0434\u0440\u0430\u0439\u0432\u0435\u0440<\/a> \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0441\u0430\u043c\u044b\u043c \u0440\u0430\u0437\u0432\u0438\u0442\u044b\u043c, \u0445\u043e\u0440\u043e\u0448\u043e \u043f\u0440\u043e\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u043c \u0438 \u0430\u043a\u0442\u0438\u0432\u043d\u043e \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0435\u043c\u044b\u043c \u0438\u0437 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u043c\u044b \u0438\u043c\u0435\u0435\u043c \u0432 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u0445 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u0430\u0440\u0438\u044f\u0445 npm \u0438 github. <b>\u0423\u0434\u0438\u0432\u0438\u0442\u0435\u043b\u044c\u043d\u043e <\/b>\u0434\u0430\u0436\u0435, \u0447\u0442\u043e \u043f\u0440\u0438 \u0445\u043e\u0440\u043e\u0448\u043e \u043f\u0440\u043e\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u043e\u0439 \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u043e\u0439 \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438, <b>\u0432\u0441\u0435 \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430<\/b>, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u044d\u0442\u043e \u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u0434\u043b\u044f \u043f\u0440\u0438\u043a\u043b\u0430\u0434\u043d\u043e\u0433\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430, \u0441\u0432\u043e\u0434\u044f\u0442\u0441\u044f \u043a \u043e\u0434\u043d\u043e\u043c\u0443 \u043c\u0435\u0442\u043e\u0434\u0443 query. \u0414\u043b\u044f \u043c\u0435\u043d\u044f \u043b\u0438\u0447\u043d\u043e, \u044d\u0442\u043e\u0433\u043e \u043e\u0447\u0435\u043d\u044c \u043c\u0430\u043b\u043e, \u043d\u0443 \u043f\u0440\u0438\u0432\u044b\u043a \u0434\u0435\u0434\u0443\u0448\u043a\u0430 \u043a \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430\u043c \u0434\u043b\u044f \u0432\u043e\u0437\u0432\u0440\u0430\u0442\u0430 \u0441\u043a\u0430\u043b\u044f\u0440\u043d\u044b\u0445 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0439, \u0441\u0442\u0440\u043e\u043a \u0438 \u0441\u0442\u043e\u043b\u0431\u0446\u043e\u0432 \u0432 \u043c\u0430\u0441\u0441\u0438\u0432\u044b, \u0438\u043d\u0442\u0440\u043e\u0441\u043f\u0435\u043a\u0446\u0438\u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440 \u0411\u0414. \u0422\u0430\u043a \u0447\u0442\u043e, \u0441 \u0443\u0434\u043e\u0432\u043e\u043b\u044c\u0441\u0442\u0432\u0438\u0435\u043c \u0434\u0435\u043b\u044e\u0441\u044c \u044d\u0442\u0438\u043c\u0438 \u043d\u0430\u0440\u0430\u0431\u043e\u0442\u043a\u0430\u043c\u0438 \u0441 \u0432\u0430\u043c\u0438, \u043c\u043e\u0438 \u0434\u043e\u0440\u043e\u0433\u0438\u0435 \u0425\u0430\u0431\u0440\u0430\u0432\u0447\u0430\u043d\u0435, \u043d\u043e \u043f\u0440\u0435\u0434\u0443\u043f\u0440\u0435\u0436\u0434\u0430\u044e, \u0447\u0442\u043e \u0432\u0441\u0435 \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 <b>\u0431\u0443\u0434\u0443\u0442 \u043d\u0430 \u0443\u043b\u0438\u0446\u0435<\/b>. \u0415\u0441\u0442\u044c \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u0432\u0430\u0440\u0438\u0430\u043d\u0442 \u0442\u0435\u0441\u043d\u043e\u0439 \u0438\u043d\u0442\u0435\u0433\u0440\u0430\u0446\u0438\u0438 \u0441 \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u043e\u043c, \u043d\u043e <a href=\"https:\/\/github.com\/felixge\/node-mysql\/pull\/546#issuecomment-26407587\">FelixGe \u0436\u0435\u043b\u0430\u0435\u0442<\/a> \u043e\u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0434\u0440\u0430\u0439\u0432\u0435\u0440 \u0438\u0441\u043a\u043b\u044e\u0447\u0438\u0442\u0435\u043b\u044c\u043d\u043e \u043d\u0438\u0437\u043a\u043e\u0443\u0440\u043e\u0432\u043d\u0435\u0432\u044b\u043c, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0441\u044f \u043d\u0430 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0435 \u0432\u043d\u0435\u0448\u043d\u0435\u0439 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438 \u0441 \u0434\u043e\u0431\u0430\u0432\u043b\u0435\u043d\u0438\u0435\u043c \u043a \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0443 \u0447\u0435\u0440\u0435\u0437 \u043f\u0440\u0438\u043c\u0435\u0441\u0438. \u0412 \u0432\u0438\u0434\u0435 \u043f\u0440\u0438\u043c\u0435\u0441\u0435\u0439 \u0443\u0434\u043e\u0431\u0441\u0442\u0432\u0430 \u043f\u043e\u043f\u0430\u043b\u0438 \u0438 \u0432 \u043f\u043b\u0430\u0442\u0444\u043e\u0440\u043c\u0443 <a href=\"http:\/\/habrahabr.ru\/post\/194250\/\">Impress<\/a>, \u0430 \u0442\u0430\u043a \u0436\u0435, \u043e\u043f\u0443\u0431\u043b\u0438\u043a\u043e\u0432\u0430\u043d\u044b \u043a\u0430\u043a \u043f\u0430\u0442\u0447 \u043a \u0434\u0440\u0430\u0439\u0432\u0435\u0440\u0443. \u041e \u0444\u0443\u043d\u043a\u0446\u0438\u043e\u043d\u0430\u043b\u0435 \u0438 \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u0430\u0445 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u0434\u0430\u043b\u0435\u0435.  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-198738","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/198738","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=198738"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/198738\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=198738"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=198738"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=198738"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}