TruckingJobInput.java 文件源码

java
阅读 30 收藏 0 点赞 0 评论 0

项目:DOcloud-GreenTruck-sample 作者:
private void serializeRoutes(JsonGenerator jgen) throws IOException,
        JsonProcessingException {
    jgen.writeArrayFieldStart("Routes");
    /**
     * db.hubs.aggregate([ {$project: { "routes" : 1}}, {$unwind :
     * "$routes"}, {$project: { "spoke" : "$routes.spoke", "distance" :
     * "$routes.distance"}}])
     */

    AggregationOutput agg = getDB().getCollection("hubs").aggregate(
            new BasicDBObject().append("$project",
                    new BasicDBObject().append("routes", 1)),
            new BasicDBObject().append("$unwind", "$routes"),
            new BasicDBObject().append("$project",
                    new BasicDBObject().append("spoke", "$routes.spoke")
                            .append("distance", "$routes.distance")));

    for (DBObject obj : agg.results()) {
        jgen.writeStartObject();
        jgen.writeStringField("spoke", obj.get("spoke").toString());
        jgen.writeStringField("hub", obj.get("_id").toString());
        jgen.writeNumberField("distance",
                ((Number) obj.get("distance")).intValue());
        jgen.writeEndObject();
    }
    jgen.writeEndArray();
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号