input source중에 지정된 필드를 subdocument로 만들어서 몽고DB로 저장한다
Dumps records to Mongodb with subdocument
- Plugin type: output
- Load all or nothing: no
- Resume supported: no
- Cleanup supported: no
- 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")
- 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"
- 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