以下主要來自官網文檔,原文:https://wiki.pentaho.com/display/EAI/MongoDB+Output
Configure Connection Tab

1 Host name or IP address 輸入本機或者服務器的ip地址
2 Port 端口號默認端口號27017
3 Username 和 Password 如果目標集合需要驗證詳細信息,可以使用用戶名和密碼字段提供驗證細節
4 如果已經設置了有效的主機名和端口,那么可以使用Get DBs按鈕和Get collection按鈕分別檢索選定數據庫中現有數據庫和集合的名稱如下圖:

5 如果多個主機,可以用逗號分隔,並且勾上Use all replicate set members/mongos

Create and Drop Indexes Tab

kettle 可以寫入數據時候,在mongodb中創建索引
Output Options Tab

1 使用Get DBs按鈕和Get collection按鈕分別檢索選定數據庫中現有數據庫和集合,如果輸入一個集合名字,這個集合名字在數據庫中不存在,那么會自動創建一個集合,並且將對應數據插入該集合中。
2 Truncate collection 如果勾上之后,在插入目標集合之前會把集合數據清空,然后再插入
3 除非使用唯一索引,否則mongodb允許插入重復數據
4 Mongo DB允許快速批量插入操作—可以使用批插入大小字段配置批大小。如果這里沒有提供值,則使用默認的100行大小
5 選擇Update,但不選擇Upsert的時候,只更新,不插入。如果數據庫中沒數據,也不插入。有數據則更新。
選擇Update的時候,Mongo Document Fields 里面的 Match field for update 必須有一個選擇Y才可以,然后Modifier policy 選擇Insert&Update時候,如果有數據就更新。

同時選擇Update,Upsert時候,在數據庫中找到則更新,找不到則插入。
(在mongodb使用update功能的時候upsert本身就是一個可選擇的功能,true是庫里沒有則插入,false是庫里沒有不做操作。默認false。因此kettle在選擇update功能時候下面還有一個upsert)
最終生效則必須在Mongo document fields 選項卡中選擇Match field for update,必須有一個是Y,如下圖:
Match field for update選擇為Y,則是用這個自動去匹配。比如途中選擇note為Y,note作為更新參照字段。
相當於sql語句:update 表 set shebei_zhi = value1,shebei_type = value2 where note = value3

6 勾選Modifier update,可以對update操作進一步設置如可以增加操作符設置:$set,$inc和$push。勾選之后, Mongo document fields 選項卡中Modifier operation 和Modifier policy才起作用。


7 勾選Modifier update之后,可以再勾選Multi-update。mongodb默認只更新找到的第一條記錄,如果勾選,就把按條件查出來多條記錄全部更新,即更新找到的多條記錄。

參考:https://blog.csdn.net/qq_26645205/article/details/78341196
