Команда ReQL: connect
Синтаксис команды
r.connect([options, ]callback) r.connect([host, ]callback) r.connect([options]) → promise r.connect([host]) → promise
Описание
Создает новое подключение к серверу базы данных. Принимает следующие параметры:
-
host: хост для подключения (по умолчаниюlocalhost). -
port: порт для подключения (по умолчанию28015). -
db: базу данных по умолчанию (по умолчаниюtest). -
user: учетную запись пользователя для подключения (по умолчаниюadmin). -
password: пароль для учетной записи пользователя для подключения (по умолчанию'', пустой). -
timeout: время ожидания в секундах для открытия подключения (по умолчанию20). -
ssl: хеш параметров для поддержки SSL-подключений (по умолчаниюnull). В настоящее время доступен только один параметр, и если указан параметрssl, этот ключ обязателен:-
ca: список Node.jsBufferобъектов, содержащих сертификаты CA для SSL.
-
Если подключение не может быть установлено, в обратный вызов будет передано значение ReqlDriverError вместо подключения.
Возвращаемый объект подключения будет содержать две свойства, содержащие порт и адрес подключения:
conn.clientPort;
conn.clientAddress;
Для использования SSL с RethinkDB требуется прокси-программное обеспечение на сервере, например, Nginx, HAProxy или SSL-туннель. RethinkDB будет шифровать трафик и проверять сертификат CA, чтобы предотвратить атаки «человек посередине». Для получения дополнительных сведений обратитесь к документации вашего прокси-сервера.
В качестве альтернативы можно использовать встроенную поддержку TLS RethinkDB TLS support.
Пример: Открытие подключения с использованием значения хоста и порта по умолчанию, указав базу данных по умолчанию.
r.connect({
db: 'marvel'
}, function(err, conn) {
// ...
});
Если обратный вызов не указан, будет возвращено обещание.
var promise = r.connect({db: 'marvel'});
Пример: Открытие нового подключения к базе данных.
r.connect({
host: 'localhost',
port: 28015,
db: 'marvel'
}, function(err, conn) {
// ...
});
В качестве альтернативы можно использовать обещания.
var p = r.connect({
host: 'localhost',
port: 28015,
db: 'marvel'
});
p.then(function(conn) {
// ...
}).error(function(error) {
// ...
});
Пример: Открытие нового подключения к базе данных, указав сочетание пользователя/пароля для аутентификации.
r.connect({
host: 'localhost',
port: 28015,
db: 'marvel',
user: 'herofinder',
password: 'metropolis'
}, function(err, conn) {
// ...
});
Пример: Открытие нового подключения к базе данных с использованием SSL-прокси.
var fs = require('fs');
fs.readFile('/path/to/cert', function (err, caCert) {
if (!err) {
r.connect({
host: 'localhost',
port: 28015,
db: 'marvel',
authKey: 'hunter2',
ssl: {
ca: caCert
}
}, function(err, conn) {
// ...
});
} else {
console.log(err);
}
});
© RethinkDB contributors
Licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License.
https://rethinkdb.com/api/javascript/connect/