0

我对 MongoDB 比较陌生,我目前正在与 java 一起使用“通过大多数标签匹配查找”解决方案来查找集合中的信息。

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

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

对于上面的句子,正确的 JAVA 实现是什么?

先感谢您

4

1 回答 1

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();

我对您的聚合操作感到困惑,您能否提供更多详细信息?

于 2012-12-16T18:35:54.747 回答