使用JAVA驱动程序

时间:2015-11-10 09:35:08

标签: mongodb-query

我正在尝试使用mongo java驱动程序对我的数据库执行查询,但我遇到了一些问题。 我已经从mongo shell执行了这个查询,它似乎工作正常。

 db.userData.aggregate([ { $group: {"_id": "$username"}},{$group:{"_id":"userCount","counter":{$sum:1}}}])

这将向我返回数据库中唯一身份用户的总数。

结果是

  

{" _id" :" userCount"," counter" :5}

我想在JAVA中尝试相同的操作。我可以使用1 $ group进行聚合查询,如下所示(返回具有该特定用户的数据库中文档数量的唯一用户)。

AggregateIterable<Document> iterable = db.getCollection("userData").aggregate(asList(
    new Document("$group", new Document("_id", "$username").append("count", new Document("$sum", 1)))));

但如果我的查询使用$ group两次,我不知道该怎么办。

1 个答案:

答案 0 :(得分:0)

<?
$cars = array("bmw", "mercedes");

$count = count($cars);
$j=1;
for($i = 0; $i < $count; $i++)
{
    $TotalCars='$car'.$j.'=';
    echo $TotalCars. $cars[$i]."<br>";
    $j++;
}
?>

这会以某种方式返回正确答案,但令我感到困惑的是它是如何工作的。有人可以解释一下。