Skip to content

focuschange/embulk-output-mongodb_nest

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

About

mongodb output plugin for embulk

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published