Как я могу найти значения в Mongodb? Я использую просмотр потока, но я думаю, что у него будет проблема с производительностью при просмотре коллекции с большим объемом данных.Значения поиска в Mongodb Pentaho Spoon
2
A
ответ
2
Решение 1:
Нашел на рынке «mongodblookup» Существует только одна проблема с пробкой в, он не возвращает записи, если матч lookpup неудачу.
Раствор 2:
UJDC - 2 поля из входного потока - artist_id, перевод (это идентификатор для поиска)
jsonColl - это поле, в UJDC он будет возвращать нулевое значение, если ни один документ не найден ,
Ниже приведен код
import com.mongodb.Mongo;
import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.DBObject;
import com.mongodb.QueryBuilder;
private Mongo m;
private DB db;
private DBCollection coll;
String getField="xxx";
String jsonField="Y";
public boolean processRow(StepMetaInterface smi, StepDataInterface sdi) throws KettleException
{
if (first) {
first=false;
}
Object[] r = getRow();
if (r == null) {
setOutputDone();
return false;
}
Object[] outputRow = createOutputRow(r, data.outputRowMeta.size());
Long artist_id = get(Fields.In, "artist_id").getInteger(r);
String translation = get(Fields.In, "translation").getString(r);
DBObject query= coll.findOne(QueryBuilder.start("itunesArtistId").is(artist_id).and("translation.translation").is(translation).get());
if (query==null){
jsonField=null;
}else{
jsonField="exist";
}
get(Fields.Out, "jsonColl").setValue(outputRow, jsonField);
putRow(data.outputRowMeta, outputRow);
// putRow will send the row on to the default output hop.
//
return true;
}
public boolean init(StepMetaInterface stepMetaInterface, StepDataInterface stepDataInterface)
{
try {
m = new Mongo("127.0.0.1", 27017);
db = m.getDB("databasename");
db.authenticate("user", "password".toCharArray());
coll = db.getCollection("artist");
return parent.initImpl(stepMetaInterface, stepDataInterface);
} catch(Exception e) {
logError("Error connecting to MongoDB: ", e);
return false;
}
}
Смежные вопросы
- 1. Pentaho 6 Spoon Error
- 2. Pentaho Spoon OK, Pentaho Kitchen ERROR
- 3. Производительность выхода microsoft Pentaho Spoon
- 4. Выполнить файл .jar в Spoon (Pentaho Kettle)
- 5. Таблица этапов в MySQL/или Pentaho Spoon
- 6. Контрольно-пропускные пункты в Pentaho Spoon
- 7. Зачем использовать графический интерфейс Pentaho PDI Spoon?
- 8. Порядок трансформации инструмента Spoon Tool Pentaho
- 9. Обновление данных дня в базе данных с помощью pentaho spoon
- 10. Использование функции (A * B) в калькуляторе - Pentaho spoon-
- 11. Найти слово внутри текстового файла, используя Pentaho Kettle/Spoon/PDI
- 12. Нулевые значения в первом столбце предотвращают импорт файлов Excel в Pentaho Spoon?
- 13. Spoon ETL как изменить значения
- 14. Конфигурация Pentaho DI/Kettle/Spoon с внешними банками
- 15. Как использовать Pentaho Spoon для переименования файлов, не имеющих расширения
- 16. pentaho spoon transform для удаления данных из таблицы
- 17. Java Pentaho Exception MongoDB
- 18. вариант Нет MongoDB в Pentaho
- 19. Проверьте соединение mongodb с Pentaho
- 20. Поиска и редактировать значения в MongoDB
- 21. mongodb и pentaho CDE dashboard
- 22. Напишите пустые строки для вывода MongoDB. Pentaho
- 23. Написание значений NaN для вывода MongoDB - Pentaho
- 24. Двойные значения счета Pentaho
- 25. Pentaho Spoon записывает новую папку txlog в папку старой папки интеграции данных
- 26. Pentaho PDI Data Integration (Spoon) v5.2 не имеет вкладки транзакций в Job
- 27. Pentaho чайник (Data Интеграция) MongoDB Aggregation
- 28. Связь MongoDB с Pentaho Kettle (PDI)
- 29. Pentaho PDI - Чтение данных от MongoDB
- 30. Pentaho + MongoDB ошибка ввода шаг: com.mongodb.MongoException $ CursorNotFound