Hadoop MongoDb:无法更新现有文档

时间:2019-03-02 07:09:20

标签: java mongodb hadoop2 hadoop-partitioning

我已经实现了Map-Reduce功能,以从一个集合中获取文档,对其进行过滤,然后将过滤后的结果写入另一个现有文档中。

但是我更新现有文档的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);

以上代码无效。它不会引发任何错误,但是它也不会更新文档。请帮忙!

0 个答案:

没有答案