Hadoop MongoDb: невозможно обновить существующий документ - PullRequest
0 голосов
/ 02 марта 2019

Я реализовал функцию Map-Reduce, чтобы извлекать документы из одной коллекции, фильтровать ее и записывать отфильтрованный результат в другой существующий документ.

Но функция уменьшения, когда я обновляю существующий документ, не работает,Вот мой код:

MongoUpdateWritable reduceResult = new MongoUpdateWritable();

BasicDBList dbl = new BasicDBList();
for (ImageSimilarityResult im : slicedSimilarImages) {
    dbl.add(new BasicDBObject(im.Id, im.cosine));
}
BasicBSONObject query = new BasicBSONObject("_id", pKey.toString());
BasicDBObject imageIdList = new BasicDBObject("ResultList", dbl);

reduceResult.setQuery(query);
reduceResult.setUpsert(false);
reduceResult.setMultiUpdate(false);
reduceResult.setReplace(true);
reduceResult.setModifiers(imageIdList);
pContext.write(null, reduceResult);

Выше код не имеет никакого эффекта.Он не выдает никакой ошибки, но и не обновляет документ .Пожалуйста, помогите!

...