mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-12-05 05:52:05 +00:00
1.8 KiB
1.8 KiB
slug | sidebar_position | sidebar_label |
---|---|---|
/en/engines/table-engines/integrations/mongodb | 135 | MongoDB |
MongoDB
MongoDB engine is read-only table engine which allows to read data (SELECT
queries) from remote MongoDB collection. Engine supports only non-nested data types. INSERT
queries are not supported.
Creating a Table
CREATE TABLE [IF NOT EXISTS] [db.]table_name
(
name1 [type1],
name2 [type2],
...
) ENGINE = MongoDB(host:port, database, collection, user, password [, options]);
Engine Parameters
-
host:port
— MongoDB server address. -
database
— Remote database name. -
collection
— Remote collection name. -
user
— MongoDB user. -
password
— User password. -
options
— MongoDB connection string options (optional parameter).
:::tip If you are using the MongoDB Atlas cloud offering:
- connection url can be obtained from 'Atlas SQL' option
- use options: 'connectTimeoutMS=10000&ssl=true&authSource=admin'
:::
Usage Example
Create a table in ClickHouse which allows to read data from MongoDB collection:
CREATE TABLE mongo_table
(
key UInt64,
data String
) ENGINE = MongoDB('mongo1:27017', 'test', 'simple_table', 'testuser', 'clickhouse');
To read from an SSL secured MongoDB server:
CREATE TABLE mongo_table_ssl
(
key UInt64,
data String
) ENGINE = MongoDB('mongo2:27017', 'test', 'simple_table', 'testuser', 'clickhouse', 'ssl=true');
Query:
SELECT COUNT() FROM mongo_table;
┌─count()─┐
│ 4 │
└─────────┘
You can also adjust connection timeout:
CREATE TABLE mongo_table
(
key UInt64,
data String
) ENGINE = MongoDB('mongo2:27017', 'test', 'simple_table', 'testuser', 'clickhouse', 'connectTimeoutMS=100000');