使用$ group检索属性id内的对象

时间:2016-06-29 18:45:48

标签: mongodb mongo-java mongo-java-driver jongo

鉴于以下收集:

{"city" : {
        "name" : "BLUMENAU",
        "state" : {
            "country" : {
                "latitude" : 0.0,
                "longitude" : 0.0
            },
            "latitude" : -27.2423392,
            "longitude" : -50.2188556
        },
        "latitude" : -26.91610771,
        "longitude" : -49.05763088,
        "_id" : "570c0bd2e375c64456a23e73"
    }
}

以及以下课程:

class City{
    @MongoId
    private Object id;
    private String name;
    private State state;
    private double latitude;
    private double longitude;
}

我想知道我是否可以通过聚合查询来检索这些城市的cout以及有关根集合(城市)的所有信息,并期望jongo在City对象中返回响应。 类似于以下mongo shell查询:

db.someCollection.aggregate([
    {$group: {_id: '$city', 'count': {$sum: 1}}},
    {$sort: {'count': -1}}
]);

我希望这样:ResultsIterator<City>其中id属性(Object)将是City(设置了所有属性,包括对象State和它&#39 ; s属性)。

从我可以看到的所有

org.jongo.MongoCollection.aggregate("   {$group: {_id: '$city', 'count': {$sum: 1}}},
    {$sort: {'count': -1}}").as(City.class);

我在ID中看到LinkedHashMap<K, V>,而不是城市对象。

0 个答案:

没有答案