public DBObject readCommentsByPhotoId(String id) {
        DBObject photo = database.getCollection(PHOTO_COMMENT_COLLECTION).findOne(new BasicDBObject("_id", id));
        if (photo == null) {
            photo=new BasicDBObject();
        }
        photo.removeField("favesCount");
        photo.removeField("itemOwner");
        photo.removeField("commentsCount");
        photo.removeField("_id");

        BasicDBList commentsIdList = new BasicDBList();
        BasicDBList dateList = new BasicDBList();
        BasicDBList valueList = new BasicDBList();
        for (String date : photo.keySet()) {
            DBObject dataFromDate = (DBObject) photo.get(date);
            if (dataFromDate.containsField("comments")) {
                Collection comments = (Collection<?>) dataFromDate.get("comments");
                dateList.add(date);
                valueList.add(comments.size());
                commentsIdList.addAll(comments);
            }
        }
        DBObject result = new BasicDBObject();
        result.put("comments", readComments(commentsIdList));
        result.put("dates", dateList);
        result.put("values", valueList);
        return result;
    }