在MongoDB java驱动程序中,如何将键函数(';keyf';)传递给';集团';命令
我希望能够通过java驱动程序使用带有“keyf”参数的mongodb group命令。有人成功地完成了此操作吗?您必须使用不推荐使用的方法DBCollection.group(DBObject args)并将键函数javascript代码作为字符串添加到名为“$keyf”的DBObject键下在MongoDB java驱动程序中,如何将键函数(';keyf';)传递给';集团';命令,java,mongodb,Java,Mongodb,我希望能够通过java驱动程序使用带有“keyf”参数的mongodb group命令。有人成功地完成了此操作吗?您必须使用不推荐使用的方法DBCollection.group(DBObject args)并将键函数javascript代码作为字符串添加到名为“$keyf”的DBObject键下 您必须使用不推荐使用的方法DBCollection.group(DBObject args),并将键函数javascript代码作为字符串添加到名为“$keyf”的DBObject键下 这段代码应该为您
您必须使用不推荐使用的方法DBCollection.group(DBObject args),并将键函数javascript代码作为字符串添加到名为“$keyf”的DBObject键下
这段代码应该为您完成以下工作:
public static CommandResult exeMapReduceAlikeGroupCmd(DB db, String colName, String keyFunc, DBObject query,
String reduceFunc, DBObject initial) {
BasicDBObject cmd = new BasicDBObject("ns", colName);// this is the collection name
cmd.append("$keyf", keyFunc);// keyf function
cmd.append("cond", query); // cond query object
cmd.append("$reduce", reduceFunc);// reduce function
cmd.append("initial", initial);// initial value
cmd = new BasicDBObject("group", cmd);
return db.command(cmd, db.getOptions());
}
这段代码应该为您完成以下工作:
public static CommandResult exeMapReduceAlikeGroupCmd(DB db, String colName, String keyFunc, DBObject query,
String reduceFunc, DBObject initial) {
BasicDBObject cmd = new BasicDBObject("ns", colName);// this is the collection name
cmd.append("$keyf", keyFunc);// keyf function
cmd.append("cond", query); // cond query object
cmd.append("$reduce", reduceFunc);// reduce function
cmd.append("initial", initial);// initial value
cmd = new BasicDBObject("group", cmd);
return db.command(cmd, db.getOptions());
}
运行良好,仍然怀疑是否存在未弃用的变体。运行良好,仍然怀疑是否存在未弃用的变体。