MongoDB聚合条件转换为JAVA驱动程序

时间:2012-12-16 02:15:03

标签: java mongodb aggregation-framework

我是MongoDB的新手,我目前正在使用java进行“通过大多数标签匹配查找”解决方案来收集集合中的信息。

我现在试图将MongoDB shell操作转换为JAVA驱动程序版本(这个sintaxis是所需定义的一部分)

$cond:[{$eq: ["$tags", 200]}, 1, 0]

上述句子的JAVA实现是什么?

提前谢谢

1 个答案:

答案 0 :(得分:2)

无论$ cond对象在聚合操作中的哪个位置构建它,都应该执行以下操作:

BasicDBList eqList = new BasicDBList();
eqList.add("$tags");
eqList.add(200);

DBObject eqObject = BasicDBObjectBuilder.start()
    .add("$eq", eqList)
    .get();

BasicDBList condList = new BasicDBList();
condList.add(eqObject);
condList.add(1);
condList.add(0);

DBObject condObject = BasicDBObjectBuilder.start()
    .add("$cond", condList)
    .get();

我对你的聚合操作感到困惑,你能提供更多细节吗?