Mongodb output plugin for Embulk
input source중에 지정된 필드를 subdocument로 만들어서 몽고DB로 저장한다
Dumps records to Mongodb with subdocument
Overview
- Plugin type: output
- Load all or nothing: no
- Resume supported: no
- Cleanup supported: no
Configuration
- type: mongodb_nest (string, required)
- host: host name (string, required)
- port: port number (integer, default:
27017
) - database: database name (string, required)
- user: mongodb account (string, required)
- password: password (string, required)
- collection: collection name (string, required)
- key: primary keys of collection (string array, required, since v0.1.2)
- child: describe subdocument (object list, default: null)
- bulk_size: bulk upsert size at time (integer, default:
10000
) - null_value: set the value to fill if the field value is null (object, optional, since v0.1.3) -- string : default string value (string, default: "") -- long : default long value (long, default: 0) -- boolean : default boolean value (boolean, default: false) -- double : default double value (double, default: 0.0) -- json : default json value (object, default: "{}) -- timestamp : default timestamp value (timestamp, default : "1970-01-01T00:00:00.000Z")
Example
default configuration
out: type: mongodb_nest host: your-host-name database: your-database-name user: your-account-name password: your-password collection: your-collection-name key: [your-key1, key2, ...] child: - {name: mychild, field: time} - {name: yourchild, field: comment} - {name: mychild, field: purchase} null_value: string: "" long: -1 json: {key: value} boolean: false double: 0.0 timestamp: "1970-01-01T00:00:00.000Z"
Embulk input csv sample configuration
in: type: file path_prefix: /Users/focuschange/google/program/embulk/try1/csv/sample_ decoders: - {type: gzip} parser: charset: UTF-8 newline: LF type: csv delimiter: ',' quote: '"' escape: '"' null_string: 'NULL' trim_if_not_quoted: false skip_header_lines: 1 allow_extra_columns: false allow_optional_columns: false columns: - {name: id, type: long} - {name: account, type: long} - {name: time, type: timestamp, format: '%Y-%m-%d %H:%M:%S'} - {name: purchase, type: timestamp, format: '%Y%m%d'} - {name: comment, type: string} out: type: mongodb_nest host: your-host-name database: your-database-name user: your-account-name password: your-password collection: your-collection-name key: [your-key, key2] child: - {name: mychild, field: time} - {name: yourchild, field: comment} - {name: mychild, field: purchase} null_value: string: "" long: -1 json: {key: value} timestamp: "1990-01-01T00:00:00.000Z"
Release
- 0.1.3 2018-06-25 set the value to fill if the field value is null
- 0.1.2 2018-06-08 The key field has been changed to a list type. The JSON Parser is supported by the input plugin.
- 0.1.1 2018-06-05 [bug fix] Fiexed an error when a child field was entered
- 0.1.0 2018-05-31 first release