Mongodb'daki değerleri nasıl arayabilirim? Akış aramayı kullanıyorum ancak yüksek hacimli bir veriye bakarken performans sorunu yaşayacağını düşünüyorum.Mongodb Pentaho Spoon'da Arama değerleri
2
A
cevap
2
Çözüm 1: lookpup maç başarısız olursa pazar yeri "mongodblookup" fişi ile tek sorun var üzerinde buldum
, bir kayıt döndürmez.
Çözüm 2: hayır belge bulursa UJDC bir alan da boş dönecektir edilir -
UJDC - 2 giriş akışından alan - artist_id, çeviri
jsonColl (bu arama için tanımlayıcısıdır) . Aşağıda
kodimport 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;
}
}
olduğunu
İlgili konular
- 1. Pentaho kaşık içinde Max id mongodb alın
- 2. mongodb fulltext arama stratejisi
- 3. Pentaho PDI - MongoDB'den veri okuma
- 4. jessenger mongodb büyük harf duyarlı sorgu arama
- 5. MongoDB regex Array ile arama
- 6. lineer arama Diziler kontrol değerleri
- 7. 2 farklı alanda arama değeri mongodb + node.js
- 8. SSIS vs Pentaho
- 9. sonuçları çıktı Pentaho Kettle
- 10. Kettle mongoDB Ssl bağlantısıyla giriş
- 11. pymongo ile mongodb içinde ObjectId tarafından arama
- 12. MongoDB nesnenin dizideki arama nasıl yapılır
- 13. Mongodb Mongoose arama için karmaşık sorgu
- 14. MongoDB Tam ve Kısmi Metin Arama
- 15. Arama çubuğundaki adım değerleri değiştiriliyor mu?
- 16. Tableau'ya karşı Pentaho: Fark nedir?
- 17. Pentaho kaşıktaki ipliği nasıl birleştiririm?
- 18. mdx çıkış karakteri CDE Pentaho
- 19. Pentaho Veri INTEGARTION veritabanı bağlantıları
- 20. Pentaho: Karmaşık raporlar nasıl oluşturulur
- 21. Tüm anahtarları ve değerleri korurken MongoDB ile gruplandırma
- 22. Pentaho Mondrian- Bir rolün boyut değerini gizle
- 23. Windows Server'da Pentaho Ketlle için klasör altyapısı
- 24. JSON.parse() javascript içinde çalışmadı in the pentaho
- 25. Pentaho rapor tasarımcısı büyük harfler a
- 26. MongoDB Metin Araması VE birden fazla arama kelimesi
- 27. İndeksleme için Solr'u kullanma ve Mongodb ve nodejs ile arama
- 28. Dizilerin dizisini kullanarak arama yapmak için mongodb $ işlecini kullanın
- 29. MongoDB konsolunda MongoDB konsolda
- 30. MongoDB - Düz anahtarlarda arama yapmak kadar hızlı dizilerde mi arama yapıyor?