我已经实现了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);
以上代码无效。它不会引发任何错误,但是它也不会更新文档。请帮忙!